diff --git a/pom.xml b/pom.xml
index f26de2ae5cdaa6ed088587ccdc15a22b3de8ded9..19646505c6b1d72ff39cf222cee3bc3a68c4abc4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.openolat</groupId>
 	<artifactId>openolat-lms</artifactId>
-	<version>8.3-SNAPSHOT</version>
+	<version>8.4-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<name>OpenOLAT LMS</name>
 	<url>http://www.openolat.org</url>
@@ -1527,16 +1527,6 @@
 			<artifactId>openmeetings-stubs</artifactId>
 			<version>2.0-SNAPSHOT</version>
 		</dependency>
-		<dependency>
-			<groupId>org.igniterealtime.smack</groupId>
-			<artifactId>smack</artifactId>
-			<version>3.2.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.igniterealtime.smack</groupId>
-			<artifactId>smackx</artifactId>
-			<version>3.2.2</version>
-		</dependency>
 		<dependency>
 			<groupId>org.apache.poi</groupId>
 			<artifactId>poi</artifactId>
diff --git a/src/main/java/org/olat/admin/AdminModule.java b/src/main/java/org/olat/admin/AdminModule.java
index ceb91a884c9f43a7ef47c149c908a8c8eff68ec3..922f21c78eba7ac180c56f2d6c9043112e7a5ee1 100644
--- a/src/main/java/org/olat/admin/AdminModule.java
+++ b/src/main/java/org/olat/admin/AdminModule.java
@@ -41,7 +41,6 @@ import org.olat.core.configuration.PersistedProperties;
 import org.olat.core.id.User;
 import org.olat.core.id.context.SiteContextEntryControllerCreator;
 import org.olat.core.util.session.UserSessionManager;
-import org.olat.instantMessaging.rosterandchat.ChangePresenceJob;
 import org.olat.properties.Property;
 import org.olat.properties.PropertyManager;
 
@@ -177,19 +176,7 @@ public class AdminModule extends AbstractOLATModule {
 	public void setSessionTimeoutDepr(int sessionTimeout) {
 		logAudit("Session administration: Set session-timeout=" + sessionTimeout);
 		//in seconds
-
 		CoreSpringFactory.getImpl(UserSessionManager.class).setGlobalSessionTimeout(sessionTimeout);
-		//in milliseconds for presence job
-		ChangePresenceJob.setAutoLogOutCutTimeValue(sessionTimeout*1000);
-	}
-
-	/**
-	 * @return  Current session timeout in msec.
-	 */
-	public int getSessionTimeout() {
-		//changepresencejob holds the session timeout so far in milliseconds
-		int sessionTimeoutSeconds = Math.round((ChangePresenceJob.getAutoLogOutCutTimeValue() / 1000));
-		return sessionTimeoutSeconds;
 	}
 
 	/**
diff --git a/src/main/java/org/olat/admin/instantMessaging/InstantMessagingAdminController.java b/src/main/java/org/olat/admin/instantMessaging/InstantMessagingAdminController.java
deleted file mode 100644
index 3c93f2da816b529c562633bb271ad4efffe8d3fa..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/InstantMessagingAdminController.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-
-package org.olat.admin.instantMessaging;
-
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.form.flexible.FormItem;
-import org.olat.core.gui.components.form.flexible.FormItemContainer;
-import org.olat.core.gui.components.form.flexible.elements.FormLink;
-import org.olat.core.gui.components.form.flexible.elements.IntegerElement;
-import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
-import org.olat.core.gui.components.form.flexible.impl.FormEvent;
-import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
-import org.olat.core.gui.components.form.flexible.impl.elements.FormLinkImpl;
-import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.gui.control.WindowControl;
-import org.olat.instantMessaging.AdminUserConnection;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingModule;
-
-/**
- *
- * @author gnaegi <www.goodsolutions.ch>
- * @author guido
- * Initial Date:  Aug 2, 2006
- * Description:
- * Instant messaging server administration task within olat
- * 
- */
-public class InstantMessagingAdminController extends FormBasicController {
-	
-	private FormLink doSyncButton;
-	private IntegerElement idlePollTime;
-	private IntegerElement chatPollTime;
-	private FormSubmit submit;
-	private FormLinkImpl checkPlugin;
-	private FormLinkImpl reconnectAdminUser;
-	private FormLink doUserSyncButton;
-
-	public InstantMessagingAdminController(UserRequest ureq, WindowControl wControl) {
-		super(ureq, wControl, "index");
-		//
-		initForm(this.flc, this, ureq);
-	}
-		
-	@Override
-	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-		InstantMessaging im = InstantMessagingModule.getAdapter();
-		if (source == doSyncButton) {
-			showInfo("imadmin.sync.cmd.dosync.caption");
-			boolean allOk = im.synchronizeBusinessGroupsWithIMServer();
-			if (!allOk) {
-				refreshAndSetConnectionStatus();
-				showError("imadmin.sync.failed");
-				doSyncButton.setEnabled(false);
-			}
-		} else if (source == checkPlugin) {
-			String ok= im.checkServerPlugin();
-			showInfo("imadmin.plugin.version", ok);
-		} else if (source == reconnectAdminUser) {
-			try {
-				im.resetAdminConnection();
-			} catch (Exception e) {
-				refreshAndSetConnectionStatus();
-				getWindowControl().setError("Connection not possible: " + e.getMessage());
-				return;
-			} 
-			refreshAndSetConnectionStatus();
-			doSyncButton.setEnabled(true);
-			showInfo("imadmin.plugin.admin.connection.done");
-		} else if (source == doUserSyncButton) {
-			String result = im.synchronizeAllOLATUsers();
-			getWindowControl().setWarning(result);
-		}
-	}
-	
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
-	 */
-	protected void doDispose() {
-		// nothing to dispose
-	}
-
-	
-	@Override
-	protected void formOK(UserRequest ureq) {
-		// TODO Auto-generated method stub
-		InstantMessagingModule.setCHAT_POLLTIME(chatPollTime.getIntValue());
-		InstantMessagingModule.setIDLE_POLLTIME(idlePollTime.getIntValue());
-	}
-
-	private void refreshAndSetConnectionStatus(){
-		AdminUserConnection connection = InstantMessagingModule.getAdapter().getAdminUserConnection();
-		boolean connectionSuccessfull = (connection!=null && connection.getConnection()!= null && connection.getConnection().isConnected());
-		flc.contextPut("IMConnectionStatus", connectionSuccessfull);
-	}
-
-
-	@Override
-	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
-		FormLayoutContainer mainLayout = FormLayoutContainer.createDefaultFormLayout("mainLayout", getTranslator());
-		formLayout.add(mainLayout);
-		
-		String imServerName = InstantMessagingModule.getAdapter().getConfig().getServername();
-		String imAdminUsername = InstantMessagingModule.getAdapter().getConfig().getAdminName();
-		String imAdminPw = InstantMessagingModule.getAdapter().getConfig().getAdminPassword();
-		
-		
-		flc.contextPut("IMServerAdminGUI", imServerName);
-		flc.contextPut("IMServerAdminUsername", imAdminUsername);
-		flc.contextPut("IMServerAdminPw", imAdminPw);
-		
-		refreshAndSetConnectionStatus();
-		
-		checkPlugin = new FormLinkImpl("imadmin.plugin.check");
-		checkPlugin.setCustomEnabledLinkCSS("b_button");
-		formLayout.add(checkPlugin);
-		
-		reconnectAdminUser = new FormLinkImpl("imadmin.plugin.admin.reconnect");
-		reconnectAdminUser.setCustomEnabledLinkCSS("b_button");
-		formLayout.add(reconnectAdminUser);
-
-		doSyncButton = new FormLinkImpl("imadmin.sync.cmd.dosync");
-		doSyncButton.setCustomEnabledLinkCSS("b_button");
-		doSyncButton.setCustomDisabledLinkCSS("b_button b_button_disabled");
-		formLayout.add(doSyncButton);
-		
-		doUserSyncButton = uifactory.addFormLink("sync.all.users", formLayout, Link.BUTTON);
-				
-		idlePollTime = uifactory.addIntegerElement("idlepolltime", "imadming.idlepolltime", InstantMessagingModule.getIDLE_POLLTIME(), mainLayout);
-		idlePollTime.setExampleKey("imadming.idlepolltime.default", new String[]{""+InstantMessagingModule.getAdapter().getConfig().getIdlePolltime()});
-		idlePollTime.showExample(true);
-		
-		chatPollTime = uifactory.addIntegerElement("chatpolltime", "imadming.chatpolltime", InstantMessagingModule.getCHAT_POLLTIME(), mainLayout);
-		chatPollTime.setExampleKey("imadming.chatpolltime.default", new String[]{""+InstantMessagingModule.getAdapter().getConfig().getChatPolltime()});
-		chatPollTime.showExample(true);
-		
-		submit = new FormSubmit("subm","submit");
-		
-		mainLayout.add(idlePollTime);
-		mainLayout.add(chatPollTime);
-		mainLayout.add(submit);
-		
-	}
-
-}
diff --git a/src/main/java/org/olat/admin/instantMessaging/_content/index.html b/src/main/java/org/olat/admin/instantMessaging/_content/index.html
deleted file mode 100644
index a49e18d64a8e3381819ccbbc42c5d66945c81d7c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_content/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<h3>$r.translate("imadmin.title")</h3>
-<fieldset>
-<legend>$r.translate("imadmin.plugin.title")</legend>
-	<p>
-		$r.translate("imadmin.plugin.intro")
-	</p>
-	<p>Status: 
-	#if($IMConnectionStatus)
-		<font color="green">ALL OK!</font>
-	#else
-		<font color="red">No Connection to Server!!</font>
-	#end
-	</p>
-	<ul>
-	##fxdiff: hide admin-im-pw
-	#set ($info= ["$IMServerAdminGUI", "$IMServerAdminUsername", "onlyServerAdminKnowsThis"]) 
-	<li>$r.translate("imadmin.plugin.webconsole", $info)</li>
-	<li>$r.render("imadmin.plugin.check") $r.translate("imadmin.plugin.check.info")</li>
-	<li>$r.render("imadmin.plugin.admin.reconnect") $r.translate("imadmin.plugin.admin.connection")</li>
-	<li>$r.render("sync.all.users") $r.translate("imadmin.plugin.sync.allusers")</li>
-	</ul>
-</fieldset>
-
-<fieldset>
-<legend>$r.translate("imadmin.sync.title")</legend>
-<p>
-	$r.translate("imadmin.sync.intro")
-</p>
-<p>
-	$r.render("imadmin.sync.cmd.dosync")
-</p>
-</fieldset>
-
-<fieldset>
-	<legend>$r.translate("imadmin.form.title")</legend>
-	$r.render("mainLayout")
-</fieldset>	
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ar.properties
deleted file mode 100644
index 45fed53ce1b991d6ad0886ac3c9a7b7172f38804..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ar.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Mon Feb 22 10:58:15 CET 2010
-imadmin.form.title=\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u062F\u0631\u062F\u0634\u0629 \u0623\u062A\u0634 \u062A\u0649 \u0623\u0645 \u0623\u0644
-imadmin.plugin.admin.connection=\u064A\u0631\u062C\u0649 \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0627\u062A\u0635\u0627\u0644\u060C \u0648\u0647\u0648 \u0636\u0631\u0648\u0631\u0649 \u0641\u0642\u0637 \u0639\u0646\u062F \u0641\u0634\u0644 \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0627\u0644\u062A\u0644\u0642\u0627\u0626\u0649\u060C \u0642\u0645 \u0628\u0641\u062D\u0635 \u0627\u0644\u0633\u064A\u0631\u0641\u0631 \u0644\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0628\u062C\u0647\u0629 "\u0627\u0644\u0645\u0634\u0631\u0641" \u0644\u0644\u0645\u0633\u062A\u062E\u062F\u0645.
-imadmin.plugin.admin.connection.done=\u062A\u0645 \u0646\u062C\u0627\u062D \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0627\u062A\u0635\u0627\u0644
-imadmin.plugin.admin.reconnect=\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0627\u062A\u0635\u0627\u0644
-imadmin.plugin.check=\u0641\u062D\u0635
-imadmin.plugin.check.info=\u0641\u062D\u0635 \u0625\u0635\u062F\u0627\u0631 \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0633\u064A\u0631\u0641\u0631.
-imadmin.plugin.intro=\u0627\u0644\u0633\u064A\u0631\u0641\u0631 \u0644\u0625\u0639\u0627\u062F\u0629 \u062A\u0642\u062F\u064A\u0645 <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> \u0623\u0648\u0644\u0627\u062A \u062A\u062A\u0648\u0627\u0635\u0644 \u0645\u0639\r\n\u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u064A\u0646/\u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0645\u0646 \u0623\u0648\u0644\u0627\u062A\u060C \u0648\u064A\u0645\u0643\u0646 \u062A\u0646\u0632\u064A\u0644 \u0647\u0630\u0647 \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u0627\u062A \u0645\u0646\r\n<a target\="_blank" href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">here</a>
-imadmin.plugin.title=\u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0645\u0639 \u0627\u0644\u0633\u064A\u0631\u0641\u0631
-imadmin.plugin.version={0} \:\u0627\u0644\u0627\u0633\u062A\u0641\u0633\u0627\u0631 \u0639\u0646 \u0627\u0633\u062A\u062C\u0627\u0628\u0629 \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0633\u064A\u0631\u0641\u0631
-imadmin.plugin.webconsole=<b>{2}</b> \u0648\u0643\u0644\u0645\u0629 \u0645\u0631\u0648\u0631 <b>{1}</b> \u0648\u0633\u062C\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0628\u0627\u0633\u0645 <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> \:\u0627\u0641\u062A\u062D \u0627\u0644\u0633\u064A\u0631\u0641\u0631
-imadmin.sync.cmd.dosync=\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062A\u0632\u0627\u0645\u0646
-imadmin.sync.cmd.dosync.caption=\u0639\u0645\u0644\u064A\u0629 \u0627\u0644\u062A\u0632\u0627\u0645\u0646 \u0642\u064A\u062F \u0627\u0644\u062A\u0634\u063A\u064A\u0644\u060C \u0648\u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0633\u062A\u063A\u0631\u0642 \u0647\u0630\u0627 \u0628\u0639\u0636 \u0627\u0644\u0648\u0642\u062A\u060C \u064A\u0631\u062C\u0649 \u0627\u0644\u0627\u0646\u062A\u0638\u0627\u0631 \u062D\u062A\u0649 \u0627\u0646\u062A\u0647\u0627\u0621 \u0627\u0644\u0639\u0645\u0644\u064A\u0629.
-imadmin.sync.failed=\u0633\u064A\u0631\u0641\u0631 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0644\u0627 \u064A\u0645\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064A\u0647\u060C \u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0639\u0645\u0644\u064A\u0629 \u0627\u0644\u062A\u0632\u0627\u0645\u0646.
-imadmin.sync.intro=\u0627\u0644\u062A\u0632\u0627\u0645\u0646 \u0633\u064A\u0642\u0648\u0645 \u0628\u062A\u062D\u062F\u064A\u062B \u0643\u0644 \u062F\u0631\u0627\u0633\u0629 \u0623\u0648 \u0645\u062C\u0645\u0648\u0639\u0627\u062A \u0645\u0634\u0631\u0648\u0639 \u0645\u062B\u0644 \u062C\u0645\u0627\u0639\u0627\u062A \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u0635\u062F\u0642\u0627\u0621 \u0644\u062F\u064A\u0643 \u0639\u0644\u0649 \u0633\u064A\u0631\u0641\u0631 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629\u060C \u0648\u064A\u0645\u0643\u0646 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0647\u0630\u0627 \u0645\u0641\u064A\u062F\u0627\u064B \u0625\u0630\u0627 \u0643\u0627\u0646 \u0633\u064A\u0631\u0641\u0631 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D \u0628\u0635\u0648\u0631\u0629 \u0645\u0624\u0642\u062A\u0629\u060C \u0648\u064A\u0633\u062A\u063A\u0631\u0642 \u0647\u0630\u0627 \u0627\u0644\u0625\u062C\u0631\u0627\u0621 \u0628\u0639\u0636 \u0627\u0644\u0648\u0642\u062A.
-imadmin.sync.title=\u062A\u0632\u0627\u0645\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u0635\u062F\u0642\u0627\u0621
-imadmin.title=\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
-imadming.chatpolltime=[msec] \u0648\u0642\u062A \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-imadming.chatpolltime.default=\u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u0649 {0} \u0645\u0644\u0644\u0649 \u062B\u0627\u0646\u064A\u0629
-imadming.idlepolltime=[msec] \u0648\u0642\u062A \u0627\u0644\u062E\u0645\u0648\u0644
-imadming.idlepolltime.default=\u0627\u0644\u0627\u0641\u062A\u0631\u0627\u0636\u0649 {0} \u0645\u0644\u0644\u0649 \u062B\u0627\u0646\u064A\u0629
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_bg.properties
deleted file mode 100644
index 632479db815767e24f48f1cedd833c0bb24af485..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_bg.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Fri Aug 28 04:34:27 CEST 2009
-imadmin.form.title=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043D\u0430 HTML \u0447\u0430\u0442
-imadmin.plugin.admin.connection=\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0435\u0442\u0435 \u043D\u0430\u043D\u043E\u0432\u043E \u0432\u0440\u044A\u0437\u043A\u0430\u0442\u0430. \u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E, \u0441\u0430\u043C\u043E \u0430\u043A\u043E \u0430\u0432\u0442\u043E\u0421\u0432\u044A\u0440\u0437\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0443\u0435\u0431 \u0438\u043D\u0442\u0435\u0444\u0435\u0439\u0441\u0430 \u043D\u0430 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0437\u0430 \u0441\u0435\u0441\u0438\u044F \u0437\u0430 \u043F\u043E\u0432\u0442\u043E\u0440\u043D\u043E \u0441\u0432\u044A\u0440\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u044F "\u0430\u0434\u043C\u0438\u043D".
-imadmin.plugin.admin.connection.done=\u0412\u0440\u044A\u0437\u043A\u0430\u0442\u0430 \u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0435\u043D\u0430 \u043E\u0442\u043D\u043E\u0432\u043E\! \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0441\u0435\u0441\u0438\u0439\u043D\u0438\u044F \u043F\u0430\u043D\u0435\u043B \u043D\u0430 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F.
-imadmin.plugin.admin.reconnect=\u0441\u0432\u044A\u0440\u0436\u0435\u0442\u0435 \u0441\u0435 \u043E\u0442\u043D\u043E\u0432\u043E
-imadmin.plugin.check=\u043F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435
-imadmin.plugin.check.info=\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u044F\u0442\u0430 \u043D\u0430 \u043F\u043B\u044A\u0433\u0438\u043D\u0430 \u043D\u0430 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F.
-imadmin.plugin.intro=\u0421\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430 \u043A\u043E\u043C\u0443\u043D\u0438\u043A\u0438\u0440\u0430 \u0441\u044A\u0441 <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0447\u0440\u0435\u0437 \u043F\u043B\u044A\u0433\u0438\u043D, \u0437\u0430 \u0434\u0430 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438/\u0433\u0440\u0443\u043F\u0438 \u043E\u0442 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430 \u0432 Openfire. \u0417\u0430 \u0434\u0430 \u0438\u043D\u0441\u0442\u0430\u043B\u0438\u0440\u0430\u0442\u0435 \u043F\u043B\u044A\u0433\u0438\u043D\u0430 \u0432 Openfire, \u0438\u0437\u0442\u0435\u0433\u043B\u0435\u0442\u0435 \u0433\u043E \u043E\u0442 <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">here</a> \u0438 \u0433\u043E \u043A\u0430\u0447\u0435\u0442\u0435 \u0432 \u0430\u0434\u043C\u0438\u043D \u043A\u043E\u043D\u0437\u043E\u043B\u0430\u0442\u0430 \u043D\u0430 \u0443\u0435\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043D\u0430 Openfire.
-imadmin.plugin.title=\u041A\u043E\u043C\u0443\u043D\u0438\u043A\u0430\u0446\u0438\u044F \u0441\u044A\u0441 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F
-imadmin.plugin.version=\u0417\u0430\u043F\u0438\u0442\u0432\u0430\u043D\u0435 \u0434\u043E \u0441\u044A\u0440\u0432\u044A\u0440 \u043F\u043B\u0430\u0433\u0438\u043D\u0430 \u0432\u044A\u0440\u043D\u0430 \u043E\u0442\u0433\u043E\u0432\u043E\u0440\: {0}
-imadmin.plugin.webconsole=\u041E\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0443\u0435\u0431 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043D\u0430 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 Openfire\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> \u0438 \u0432\u043B\u0435\u0437\u0442\u0435 \u0432 \u043D\u0435\u0433\u043E \u0441 \u0430\u0434\u043C\u0438\u043D \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0441\u043A\u043E \u0438\u043C\u0435\: <b>{1}</b> \u0438 \u043F\u0430\u0440\u043E\u043B\u0430\: <b>{2}</b>
-imadmin.sync.cmd.dosync=\u0417\u0430\u043F\u043E\u0447\u043D\u0435\u0442\u0435 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u0430\u043D\u0435
-imadmin.sync.cmd.dosync.caption=\u041F\u0440\u043E\u0446\u0435\u0441\u044A\u0442 \u043F\u043E \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u0430\u043D\u0435 \u0437\u0430\u043F\u043E\u0447\u043D\u0430. \u0422\u043E\u0432\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u043E\u0442\u043D\u0435\u043C\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u0432\u0440\u0435\u043C\u0435. \u041C\u043E\u043B\u044F, \u0431\u044A\u0434\u0435\u0442\u0435 \u0442\u044A\u0440\u043F\u0435\u043B\u0438\u0432\u0438.
-imadmin.sync.failed=\u0421\u044A\u0440\u0432\u044A\u0440\u044A\u0442 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043D\u0430\u043C\u0435\u0440\u0435\u043D. \u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F\u0442\u0430 \u0435 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430.
-imadmin.sync.intro=\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F\u0442\u0430 \u0449\u0435 \u043E\u0431\u043D\u043E\u0432\u0438 \u0432\u0441\u0438\u0447\u043A\u0438 \u0443\u0447\u0435\u0431\u043D\u0438 \u0433\u0440\u0443\u043F\u0438 \u0438 \u0433\u0440\u0443\u043F\u0438 \u043F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438 \u043A\u0430\u0442\u043E \u041F\u0440\u0438\u044F\u0442\u0435\u043B\u0441\u043A\u0438 \u041B\u0438\u0441\u0442 \u0433\u0440\u0443\u043F\u0438 \u043D\u0430 \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F. \u0422\u043E\u0432\u0430 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E\u043B\u0435\u0437\u043D\u043E, \u0430\u043A\u043E \u0441\u044A\u0440\u0432\u044A\u0440\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u0438 \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438.
-imadmin.sync.title=\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u043D\u0430 \u041F\u0440\u0438\u044F\u0442\u0435\u043B\u0441\u043A\u0438 \u041B\u0438\u0441\u0442
-imadmin.title=\u0410\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-imadming.chatpolltime=\u041F\u0440\u0432\u0435\u0440\u043A\u0430 \u043D\u0430 \u0447\u0430\u0442 \u0432\u0440\u0435\u043C\u0435 \u0432 [msec]
-imadming.chatpolltime.default={0} \u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438 \u043F\u043E \u043F\u043E\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043D\u0435
-imadming.idlepolltime=Idle poll time in [msec]
-imadming.idlepolltime.default=Default {0} milliseconds
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_cs.properties
deleted file mode 100644
index b05572bd927c9969bdfbb377817fc91e64155bbc..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_cs.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#Mon Mar 02 09:54:13 CET 2009
-imadmin.form.title=Konfigurace HTML chatu
-imadmin.sync.cmd.dosync=Za\u010D\u00EDt synchronizaci
-imadmin.sync.cmd.dosync.caption=Synchronizace prob\u00EDh\u00E1. M\u016F\u017Ee to n\u011Bjak\u00FD \u010Das trvat. Pros\u00EDm bu\u010Fte trp\u011Bliv\u00ED
-imadmin.sync.failed=IM server mo\u017En\u00E1 nen\u00ED dostupn\u00FD. Synchronizace p\u0159eru\u0161ena.
-imadmin.sync.intro=Synchronizace aktualizuje v\u0161echny studijn\u00ED nebo projektov\u00E9 skupiny do seznamu kontakt\u016F na IM serveru. Toto m\u00E1 smysl pouze, pokud byl server do\u010Dasn\u011B nedostupn\u00FD.
-imadmin.sync.title=Synchronizace seznamu kontakt\u016F
-imadming.chatpolltime=Volba chatu v [ms]
-imadming.chatpolltime.default=v\u00FDchoz\u00ED {0} milisekund
-imadming.idlepolltime=Pr\u00E1zdn\u00E1 volba v [ms]
-imadming.idlepolltime.default=v\u00FDchoz\u00ED {0} milisekund
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_da.properties
deleted file mode 100644
index 8ea9c13f3b01c7fbdd96d5ef672a32017ba6ccb8..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_da.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Mon Mar 02 09:54:08 CET 2009
-imadmin.sync.cmd.dosync=Start synkronisering
-imadmin.sync.cmd.dosync.caption=Synkroniseringsprocessen k\u00F8rer. Dette kan tage noget tid. V\u00E6r venligst t\u00E5lmodig.
-imadmin.sync.failed=Instant Messaging serveren kunne ikke n\u00E5s. Synkronisering er afbrudt.
-imadmin.sync.intro=Denne synkronisering vil opdatere alle dine studie eller projektgrupper som Buddy roster grupper p\u00E5 Instant Messaging serveren. Dette giver mening hvis Instant Mesaging serveren har v\u00E6ret midlertidigt utilg\u00E6ngelig.
-imadmin.sync.title=Synkronisering af Buddy Roster
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_de.properties
deleted file mode 100644
index 3f56db47b34bcb988e1ff58ae329cd7eeef69e2a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_de.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Mon Mar 02 09:54:03 CET 2009
-imadmin.form.title=Konfiguration HTML Chat
-imadmin.plugin.admin.connection=Verbindung zur\u00FCcksetzen. Nur notwendig falls der automatische Mechanismus fehlschl\u00E4gt. Verbindungen werden in der Web Konsole unter "sessions" aufgelistet. Suche nach Verbindung des Benutzers "admin"..
-imadmin.plugin.admin.connection.done=Reconnect erfolgreich\! In Openfire Web Konsole \u00FCberpr\u00FCfen.
-imadmin.plugin.admin.reconnect=reconnect 
-imadmin.plugin.check=Check
-imadmin.plugin.check.info=Version vom Plugin pr\u00FCfen.
-imadmin.plugin.intro=OLAT kommuniziert mit dem <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM-Server \u00FCber ein plugin um die Benutzer/Gruppen von OLAT abzubilden. Das Plugin kann <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">hier</a> runtergeladen werden und in der Web Konsole vom Openfire installiert werden.
-imadmin.plugin.title=Kommunikation mit IM-Server
-imadmin.plugin.version=Anfrage an das Plugin antwortet\: {0}
-imadmin.plugin.webconsole=Openfire Web Konsole \u00F6ffnen\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> Mit Admin Benutzernamen\: <b>{1}</b> und Passwort\: <b>{2}</b> einloggen.
-imadmin.sync.cmd.dosync=Synchronisation starten
-imadmin.sync.cmd.dosync.caption=Die Synchronisation ist am laufen. Dieser Prozess kann l\u00E4nger andauern. Bitte warten Sie bis die Aktion beendet ist.
-imadmin.sync.failed=Der Instant-Messaging-Server konnte nicht erreicht werden, die Synchronisation wurde abgebrochen.
-imadmin.sync.intro=Durch die Synchronisation werden alle Arbeitsgruppen als Buddy-Roster-Gruppen auf dem Instant-Messaging Server synchronisiert. Dies kann sinnvoll sein, wenn zwischenzeitlich der Instant-Messaging-Server nicht in Betrieb war. Diese Aktion kann einen Moment andauern.
-imadmin.sync.title=Synchronisation Buddy-Roster
-imadmin.title=Instant Messaging (IM) Administration
-imadming.chatpolltime=Chat Poll Zeit in [ms]
-imadming.chatpolltime.default=default {0} millisekunden
-imadming.idlepolltime=Idle Poll Zeit in [ms]
-imadming.idlepolltime.default=default {0} millisekunden
-sync.all.users=Alle Benutzer synchronisieren
-imadmin.plugin.sync.allusers=Es werden alle OLAT Benutzer mit dem IM-Server synchronisiert. Achtung: Invalide Benutzer werden gelöscht und mit einem neuen Passwort wieder angelegt.
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_el.properties
deleted file mode 100644
index 7c57aab45053a426138b72220e8665f6679ee24a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_el.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Sat Mar 13 23:23:56 CET 2010
-imadmin.form.title=\u03A0\u03B1\u03C1\u03B1\u03BC\u03B5\u03C4\u03C1\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 HTML chat
-imadmin.plugin.admin.connection=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B5\u03C0\u03B1\u03BD\u03B5\u03BA\u03BA\u03B9\u03BD\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 (\u03B1\u03BD\u03B1\u03B3\u03BA\u03B1\u03AF\u03BF \u03BC\u03CC\u03BD\u03BF \u03B1\u03BD \u03B7 \u03B1\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5). \u0395\u03BB\u03AD\u03B3\u03BE\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03C0\u03B1\u03BD\u03B1\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03C3\u03C5\u03BD\u03B5\u03B4\u03C1\u03AF\u03B1\u03C2 \u03C4\u03BF\u03C5 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7 "admin" \u03C3\u03C4\u03BF web interface \u03C4\u03BF\u03C5 IM server.
-imadmin.plugin.admin.connection.done=\u0395\u03C0\u03B9\u03C4\u03C5\u03C7\u03AE\u03C2 \u03B5\u03C0\u03B1\u03BD\u03B1\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\! \u0395\u03BB\u03AD\u03B3\u03BE\u03C4\u03B5 \u03C4\u03BF\u03BD \u03C0\u03AF\u03BD\u03B1\u03BA\u03B1 \u03C3\u03C5\u03BD\u03B5\u03B4\u03C1\u03AF\u03B1\u03C2 \u03C4\u03BF\u03C5 IM Server.
-imadmin.plugin.admin.reconnect=\u0395\u03C0\u03B1\u03BD\u03B1\u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7
-imadmin.plugin.check=\u0388\u03BB\u03B5\u03B3\u03C7\u03BF\u03C2
-imadmin.plugin.check.info=\u0388\u03BB\u03B5\u03B3\u03C7\u03BF\u03C2 \u03AD\u03BA\u03B4\u03BF\u03C3\u03B7\u03C2 plugin \u03C4\u03BF\u03C5 IM Server
-imadmin.plugin.intro=\u03A4\u03BF OLAT \u03B5\u03C0\u03B9\u03BA\u03BF\u03B9\u03BD\u03C9\u03BD\u03B5\u03AF \u03BC\u03B5 \u03C4\u03BF\u03BD <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM server \u03BC\u03AD\u03C3\u03B1 \u03B1\u03C0\u03CC \u03AD\u03BD\u03B1 plugin \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B1\u03BD\u03C4\u03B9\u03C0\u03C1\u03BF\u03C3\u03C9\u03C0\u03B5\u03CD\u03C3\u03B5\u03B9 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B5\u03C2/\u03BF\u03BC\u03AC\u03B4\u03B5\u03C2 \u03C4\u03BF\u03C5 OLAT. \u0391\u03C5\u03C4\u03CC \u03C4\u03BF plugin \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF \u03BD\u03B1 \u03BB\u03B7\u03C6\u03B8\u03B5\u03AF <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">\u03B5\u03B4\u03CE</a> \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B5\u03B3\u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03B1\u03B8\u03B5\u03AF \u03C3\u03C4\u03B7\u03BD \u03BA\u03BF\u03BD\u03C3\u03CC\u03BB\u03B1 \u03C4\u03BF\u03C5 \u03B4\u03B9\u03B1\u03C7\u03B5\u03B9\u03C1\u03B9\u03C3\u03C4\u03AE \u03C4\u03BF\u03C5 Openfire.
-imadmin.plugin.title=\u0395\u03C0\u03B9\u03BA\u03BF\u03B9\u03BD\u03C9\u03BD\u03AF\u03B1 \u03BC\u03B5 \u03C4\u03BF\u03BD IM server
-imadmin.plugin.version=\u039C\u03B5\u03C4\u03AC \u03B1\u03C0\u03CC \u03B5\u03C1\u03CE\u03C4\u03B7\u03BC\u03B1, \u03C4\u03BF plugin \u03C4\u03BF\u03C5 server \u03B1\u03C0\u03BF\u03BA\u03C1\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9\: {0}
-imadmin.plugin.webconsole=\u0391\u03BD\u03BF\u03AF\u03BE\u03C4\u03B5 \u03C4\u03BF web interface \u03C4\u03BF\u03C5 Openfire server\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> \u03BA\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B8\u03B5\u03AF\u03C4\u03B5 \u03C9\u03C2 admin \u03BC\u03B5 \u03CC\u03BD\u03BF\u03BC\u03B1 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7\: <b>{1}</b> \u03BA\u03B1\u03B9 \u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\: <b>{2}</b>
-imadmin.sync.cmd.dosync=\u0388\u03BD\u03B1\u03C1\u03BE\u03B7 \u03C3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC\u03BF\u03CD 
-imadmin.sync.cmd.dosync.caption=\u0397 \u03B4\u03B9\u03B1\u03B4\u03B9\u03BA\u03B1\u03C3\u03AF\u03B1 \u03C3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC\u03BF\u03CD \u03B5\u03BA\u03C4\u03B5\u03BB\u03B5\u03AF\u03C4\u03B1\u03B9. \u0391\u03C5\u03C4\u03CC \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF \u03BD\u03B1 \u03C0\u03AC\u03C1\u03B5\u03B9 \u03BB\u03AF\u03B3\u03B7 \u03CE\u03C1\u03B1. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03C0\u03B5\u03C1\u03B9\u03BC\u03AD\u03BD\u03B5\u03C4\u03B5.
-imadmin.sync.failed=\u039F \u03B4\u03B9\u03B1\u03BA\u03BF\u03BC\u03B9\u03C3\u03C4\u03AE\u03C2 Instant Messaging \u03B4\u03B5\u03BD \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B5 \u03BD\u03B1 \u03B2\u03C1\u03B5\u03B8\u03B5\u03AF. \u039F \u03C3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC\u03CC\u03C2 \u03B1\u03BA\u03C5\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5.
-imadmin.sync.intro=\u0391\u03C5\u03C4\u03CC\u03C2 \u03BF \u03C3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC\u03CC\u03C2 \u03B8\u03B1 \u03B5\u03BD\u03B7\u03BC\u03B5\u03C1\u03CE\u03C3\u03B5\u03B9 \u03CC\u03BB\u03B7 \u03C3\u03B1\u03C2 \u03C4\u03B7 \u03BC\u03B5\u03BB\u03AD\u03C4\u03B7 \u03AE \u03C4\u03BF \u03C3\u03C7\u03AD\u03B4\u03B9\u03BF \u03C4\u03C9\u03BD \u03BF\u03BC\u03AC\u03B4\u03C9\u03BD \u03C9\u03C2 \u03BF\u03BC\u03AC\u03B4\u03B5\u03C2 Buddy Roster \u03C3\u03C4\u03BF\u03BD \u03B4\u03B9\u03B1\u03BA\u03BF\u03BC\u03B9\u03C3\u03C4\u03AE Instant Messaging 
-imadmin.sync.title=\u03A3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC\u03CC\u03C2 Buddy Roster 
-imadmin.title=\u0394\u03B9\u03B1\u03C7\u03B5\u03AF\u03C1\u03B9\u03C3\u03B7 \u03C4\u03BF\u03C5 Instant Messaging
-imadming.chatpolltime=\u03A7\u03C1\u03CC\u03BD\u03BF\u03C2 \u03C8\u03B7\u03C6\u03BF\u03C6\u03BF\u03C1\u03AF\u03B1\u03C2 \u03C3\u03C5\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7\u03C2 \u03C3\u03B5 [msec]
-imadming.chatpolltime.default=\u03A0\u03C1\u03BF\u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF {0} milliseconds
-imadming.idlepolltime=\u0391\u03B4\u03C1\u03B1\u03BD\u03AE\u03C2 \u03C7\u03C1\u03CC\u03BD\u03BF\u03C2 \u03C8\u03B7\u03C6\u03BF\u03C6\u03BF\u03C1\u03AF\u03B1\u03C2 \u03C3\u03B5 [msec]
-imadming.idlepolltime.default=\u03A0\u03C1\u03BF\u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03BF {0} milliseconds
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_en.properties
deleted file mode 100644
index 90b647e4d37544dafa99073d60d524e7301e5353..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_en.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Sat Jan 22 17:24:48 CET 2011
-imadmin.form.title=Configuration of HTML chat
-imadmin.plugin.admin.connection=Please reset connection. Only necessary if autoConnect fails. Check IM server web interface for reconnected session of "admin" user.
-imadmin.plugin.admin.connection.done=Successfully reconnected\! Check IM server session panel.
-imadmin.plugin.admin.reconnect=Reconnect
-imadmin.plugin.check=Check
-imadmin.plugin.check.info=Check version of IM server plugin.
-imadmin.plugin.intro=OLAT communicates with the <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM server over a plugin to represent users/groups from OLAT. This plugin can be downloaded <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">here</a> to install it on the Openfire admin console web interface.
-imadmin.plugin.title=Communication with IM server
-imadmin.plugin.version=Querying the server plugin results in\: {0}
-imadmin.plugin.webconsole=Open the Openfire server web interface\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> and log in with admin user name\: <b>{1}</b> and password\: <b>{2}</b>
-imadmin.sync.cmd.dosync=Start synchronizing
-imadmin.sync.cmd.dosync.caption=The synchronizing process is running. This can take some time. Please be patient.
-imadmin.sync.failed=The Instant Messaging server could not be reached. Synchronization cancelled.
-imadmin.sync.intro=A synchronization will update all your study or project groups as Buddy-Roster groups on the Instant Messaging server. This can be useful if the Instant Messaging server has been temporarily unavailable. Be patient; this can take some time.
-imadmin.sync.title=Synchronization of Buddy Roster
-imadmin.title=Administration of Instant Messaging
-imadming.chatpolltime=Chat poll time in [msec]
-imadming.chatpolltime.default=Default {0} milliseconds
-imadming.idlepolltime=Idle poll time in [msec]
-imadming.idlepolltime.default=Default {0} milliseconds
-sync.all.users=Sync all OLAT users
-imadmin.plugin.sync.allusers=All OLAT users will be synchronized with the IM-server. Attention: Invalid users will be deleted and recreated again with a new password!
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_es.properties
deleted file mode 100644
index ad0291f1ac3ede3087e444867b92f6eb735a321c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_es.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Tue Apr 28 17:56:38 CEST 2009
-imadmin.form.title=Configuraci\u00F3n del chat HTML
-imadmin.plugin.admin.connection=Reinicie la conexi\u00F3n. Solamente ser\u00E1 necesario si el mecanismo de conexi\u00F3n autom\u00E1tica falla. Revise la interfaz de conexi\u00F3n del servidor web IM para sesiones reconectadas del usuario "admin".
-imadmin.plugin.admin.connection.done=\u00A1Reconexi\u00F3n terminada\! Revise el panel de sesi\u00F3n del servidor IM
-imadmin.plugin.admin.reconnect=Reconectar
-imadmin.plugin.check=Revisar
-imadmin.plugin.check.info=Revisar la versi\u00F3n del complemento (plugin) del servidor IM.
-imadmin.plugin.intro=OLAT se comunicar\u00E1 con el servidor IM <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> mediante un complemento (plugin) para representar a los usuarios/grupos de OLAT en Openfire. Para instalar el complemento en Openfire desc\u00E1rguelo <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">aqu\u00ED</a> y s\u00FAbalo en la consola admin de Openfire a trav\u00E9s la interfaz web.
-imadmin.plugin.title=Comunicaci\u00F3n con el servidor IM
-imadmin.plugin.version=La petici\u00F3n al complemento del servidor responde\: {0}
-imadmin.plugin.webconsole=Abrir interfaz web del Servidor Openfire\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> e iniciar con el usuario admin\: <b>{1}</b> y contrase\u00F1a\: <b>{2}</b>
-imadmin.sync.cmd.dosync=Empezar sincronizaci\u00F3n
-imadmin.sync.cmd.dosync.caption=La sincronizaci\u00F3n est\u00E1 en progreso. Por favor espera hasta que la acci\u00F3n esta terminado.
-imadmin.sync.failed=El servidor de Mensajer\u00EDa Instant\u00E1nea (MI) no est\u00E1 funcionando. La sincronizaci\u00F3n est\u00E1 interrupido.
-imadmin.sync.intro=Esta sincronizaci\u00F3n actualizara todos tus grupos de colaboraci\u00F3n como grupo de mensajer\u00EDa instant\u00E1neo. Esto tiene sentido si el servidor instant\u00E1neo de la mensajer\u00EDa ha sido temporalmente inaccesible. 
-imadmin.sync.title=Sincronizar lista usuarios de tu grupo de colaboraci\u00F3n
-imadmin.title=Administraci\u00F3n de Mensajer\u00EDa Instant\u00E1nea
-imadming.chatpolltime=Chat Poll tiempo en [ms]
-imadming.chatpolltime.default=default {0} milisecundos
-imadming.idlepolltime=Idle Poll tiempo en [ms]
-imadming.idlepolltime.default=default {0} milisecundos 
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_fr.properties
deleted file mode 100644
index e67ea56a8d887cffa05deb9746d3c355b8bc80c5..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_fr.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Mon Oct 22 17:55:56 CEST 2012
-imadmin.form.title=Configuration HTML Chat
-imadmin.plugin.admin.connection=R\u00E9initialisation la connexion. Ceci est seulement n\u00E9cessaire si le m\u00E9chanisme automatique \u00E9chout. Les connexions sont list\u00E9s dans la console web sous "sessions". Recherche des connexions de l'utilisateur "admin"..
-imadmin.plugin.admin.connection.done=R\u00E9connexion r\u00E9ussie\! V\u00E9rifier la console web dans Openfire.
-imadmin.plugin.admin.reconnect=reconnecter
-imadmin.plugin.check=v\u00E9rifier
-imadmin.plugin.check.info=Contr\u00F4le la version du plugiciel.
-imadmin.plugin.intro=OLAT communique avec le serveur IM <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> par un plugiciel pour repr\u00E9senter les utilisateurs/groupes de OLAT. Le plugiciel peut \u00EAtre t\u00E9l\u00E9charg\u00E9 <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">hier</a> et install\u00E9 dans la console web d'Openfire.
-imadmin.plugin.sync.allusers=Tous les utilisateurs seront synchronis\u00E9s sur le serveur de messagerie instantan\u00E9e. Attention\: les utilisateurs non valides seront supprim\u00E9s et recr\u00E9\u00E9s avec un nouveau mot de passe.
-imadmin.plugin.title=Communication avec le serveur IM.
-imadmin.plugin.version=Requ\u00EAte au plugiciel r\u00E9pond\: {0}
-imadmin.plugin.webconsole=Ouvrir la console web Openfire\:<a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> Connexion avec nom d'utilisateur admin\: <b>{1}</b> et mot de passe\: <b>{2}</b>.
-imadmin.sync.cmd.dosync=D\u00E9marrer synchronisation
-imadmin.sync.cmd.dosync.caption=La synchronisation est en cours. Ce processus peut durer. Veuillez attendre svp la fin de l'action.
-imadmin.sync.failed=Le serveur de messagerie instantan\u00E9e n'a pas pu \u00EAtre contact\u00E9, la synchronisation a \u00E9t\u00E9 interrompue.
-imadmin.sync.intro=Par la synchronisation, tous les groupes de travail seront synchronis\u00E9s en tant que groupes de copains roster sur le serveur de la messagerie instantan\u00E9e. Ceci peut \u00EAtre utile quand le serveur de messagerie instantan\u00E9e a \u00E9t\u00E9 interrompu. Cette action peut prendre un certain temps.
-imadmin.sync.title=Synchronisation copains Roster
-imadmin.title=Administration Instant Messaging (IM)
-imadming.chatpolltime=Temps Chat Poll  en [ms]
-imadming.chatpolltime.default=default {0} millisecondes
-imadming.idlepolltime=Temps Poll inactif [ms]
-imadming.idlepolltime.default=default {0} millisecondes
-sync.all.users=Synchroniser tous les utilisateurs
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_it.properties
deleted file mode 100644
index b3d0cdbadd3b81b10510921950c478d0264ee839..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_it.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Fri Aug 27 14:56:22 CEST 2010
-imadmin.form.title=Configurazione HTML chat
-imadmin.plugin.admin.connection=Resettare la connessione. \u00C8 necessario solo se il meccanismo automatico fallisce. Le connessioni vengono elencate nella console web sotto "sessions". Cercare connessioni dell'utente "admin".
-imadmin.plugin.admin.connection.done=Riconnessione riuscita\! Controllare nella console Openfire web.
-imadmin.plugin.admin.reconnect=reconnect
-imadmin.plugin.check=check
-imadmin.plugin.check.info=Controllare la versione del plugin.
-imadmin.plugin.intro=OLAT comunica con il server IM <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> tramite un plugin per rappresentare gli utenti/i gruppi di OLAT. Il plugin pu\u00F2 venire scaricato <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">qui</a> e installato nella console web di Openfire.
-imadmin.plugin.title=Comunicazione con il server IM
-imadmin.plugin.version=Richiesta al plugin risponde\: {0}
-imadmin.plugin.webconsole=Aprire la console Openfire web\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> Login con nome d'utente Admin\: <b>{1}</b> e password\: <b>{2}</b>.
-imadmin.sync.cmd.dosync=Avviare sincronizzazione
-imadmin.sync.cmd.dosync.caption=La sincronizzazione \u00E8 in svolgimento. Questo processo richiede tempo\: ne attenda la conclusione, p.f.
-imadmin.sync.failed=Non \u00E8 possibile raggiungere il server di messaggeria istantanea. La sincronizzazione \u00E8 stata interrotta.
-imadmin.sync.intro=Mediante la sincronizzazione i gruppi di lavoro vengono sincronizzati sul server di messaggeria istantanea come gruppi buddy roster. Questa azione \u00E8 utile nel caso in cui il funzionamento del server abbia subito interruzioni. L'azione richiede poco tempo.
-imadmin.sync.title=Sincronizzazione del buddy roster
-imadmin.title=Amministrazione Instant Messaging (IM)
-imadming.chatpolltime=Tempo chat poll in [ms]
-imadming.chatpolltime.default=default {0} millisecondi
-imadming.idlepolltime=Tempo idle poll in [ms]
-imadming.idlepolltime.default=default {0} millisecondi
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_jp.properties
deleted file mode 100644
index c60c1f5a0b2797802d0c5ad7b4873018f294e477..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_jp.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-#Wed Nov 18 22:02:47 CET 2009
-imadmin.form.title=HTML\u30C1\u30E3\u30C3\u30C8\u8A2D\u5B9A
-imadmin.plugin.admin.connection.done=\u518D\u63A5\u7D9A\u5B8C\u4E86\! IM\u30B5\u30FC\u30D0\u30BB\u30C3\u30B7\u30E7\u30F3\u30D1\u30CD\u30EB\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-imadmin.plugin.admin.reconnect=\u518D\u63A5\u7D9A
-imadmin.plugin.check=\u30C1\u30A7\u30C3\u30AF
-imadmin.plugin.check.info=IM\u30B5\u30FC\u30D0\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-imadmin.plugin.title=IM\u30B5\u30FC\u30D0\u3068\u306E\u901A\u4FE1
-imadmin.sync.cmd.dosync=\u540C\u671F\u5316\u3092\u958B\u59CB\u3059\u308B
-imadmin.sync.cmd.dosync.caption=\u540C\u671F\u5316\u51E6\u7406\u304C\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u51E6\u7406\u306B\u306F\u3001\u3042\u308B\u7A0B\u5EA6\u6642\u9593\u304C\u304B\u304B\u308A\u307E\u3059\u3002\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
-imadmin.sync.failed=\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u30F3\u30B0\u30B5\u30FC\u30D0\u306B\u5230\u9054\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u540C\u671F\u5316\u51E6\u7406\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F\u3002
-imadmin.title=\u30A4\u30F3\u30B9\u30BF\u30F3\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u30F3\u30B0\u306E\u7BA1\u7406
-imadming.chatpolltime=\u30C1\u30E3\u30C3\u30C8\u306E\u30DD\u30FC\u30EA\u30F3\u30B0\u6642\u9593 (\u30DF\u30EA\u79D2)
-imadming.chatpolltime.default=\u30C7\u30D5\u30A9\u30EB\u30C8 {0} \u30DF\u30EA\u30BB\u30AB\u30F3\u30C9
-imadming.idlepolltime=\u30A2\u30A4\u30C9\u30EB\u6642\u306E\u30DD\u30FC\u30EA\u30F3\u30B0\u6642\u9593 (\u30DF\u30EA\u79D2)
-imadming.idlepolltime.default=\u30C7\u30D5\u30A9\u30EB\u30C8 {0} \u30DF\u30EA\u79D2
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_lt.properties
deleted file mode 100644
index 4affbf79c3975911ccfce995c02690b3a5c46e59..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_lt.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Mon Mar 02 09:54:01 CET 2009
-imadmin.sync.cmd.dosync=Prad\u0117ti sinchronizavim\u0105
-imadmin.sync.cmd.dosync.caption=Vyksta sinchronizavimas. Tai gali u\u017Etrukti. Pra\u0161ome palaukti.
-imadmin.sync.failed=Instant Messaging serveris nepasiekiamas. Sinchronizavimas at\u0161auktas.
-imadmin.sync.intro=Dabar Instant Messaging serveryje bus atnaujintos J\u016Bs\u0173 mokymo grup\u0117s. Tai turi prasm\u0119 jeigu Instant Messaging serveris buvo laikinai nepasiekiamas
-imadmin.sync.title=Buddy Roster grup\u0117s sinchronizavimas
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_nl_NL.properties
deleted file mode 100644
index 2a5dd91f5346f3906f623db65ec8aa8f03aafa1d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_nl_NL.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Thu Sep 08 16:42:42 CEST 2011
-imadmin.form.title=Configuratie van HTML chat
-imadmin.plugin.admin.connection=Gelieve de verbinding te resetten. Alleen noodzakelijk als autoConnect mislukt. Kijk de IM server web interface na voor sessieverbindingen van "admin" gebruiker.
-imadmin.plugin.admin.connection.done=Reconnectie was succesvol\! Kijk IM server sessie panel na.
-imadmin.plugin.admin.reconnect=Reconnect
-imadmin.plugin.check=Check
-imadmin.plugin.check.info=Kijk de versie van IM server plugin na.
-imadmin.plugin.intro=OLAT communiceert met de  <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM server over een plugin om gebruikers/groepen van OLAT te vertegenwoordigen. Deze plugin kan gedownload worden <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">here</a> Om het te instaleren op her Openfire admin console web interface.
-imadmin.plugin.title=Communicatie met IM server
-imadmin.plugin.version=De server plugin resultaten opvragen in\: {0}
-imadmin.plugin.webconsole=Open het Openfire server web interface\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> en log in met admin gebruikersnaam\:  <b>{1}</b> en wachtwoord\: <b>{2}</b>
-imadmin.sync.cmd.dosync=Synchronisatie starten
-imadmin.sync.cmd.dosync.caption=Het synchronisatie-proces is aan het lopen\: Dit kan even duren. Gelieve geduld te hebben.
-imadmin.sync.failed=De Instant Messaging server kon niet bereikt worden. Synchronisatie geannuleerd.
-imadmin.sync.intro=Een synchronisatie zal uw studie- of projectgroep updaten als Buddy-Roster groep op de Instant Messaging server. Dit kan nuttig zijn als de Instant Messaging server tijdelijk onbeschikbaar is. Wees geduldig; dit kan even duren.
-imadmin.sync.title=Synchronisatie ven Buddy-Roster
-imadmin.title=Administratie van Instant Messaging
-imadming.chatpolltime=Chat poll tijd in [msec]
-imadming.chatpolltime.default=Default {0} milliseconds
-imadming.idlepolltime=Idle poll tijd in [msec]
-imadming.idlepolltime.default=Default {0} milliseconds
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pl.properties
deleted file mode 100644
index 6124d8e27f0f27804ef97886a9542bf89a3db801..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pl.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Mon Mar 02 09:54:16 CET 2009
-imadmin.form.title=Konfiguracja komunikatora HTML
-imadmin.plugin.admin.connection=Zrestartuj po\u0142\u0105czenie. Niezb\u0119dne tylko wtedy, gdy automatyczne po\u0142\u0105czenie nie zadzia\u0142a. Sprawd\u017A w panelu administracyjnym serwera IM, czy nast\u0105pi\u0142 restart sesji u\u017Cytkownika "admin".
-imadmin.plugin.admin.connection.done=Restart wykonany\! Sprawd\u017A sesje w panelu administracyjnym serwera IM.
-imadmin.plugin.admin.reconnect=reconnect 
-imadmin.plugin.check=sprawd\u017A
-imadmin.plugin.check.info=Sprawd\u017A wersj\u0119 wtyczki serwera IM.
-imadmin.plugin.intro=OLAT komunikuje si\u0119 z serwerem IM <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> za pomoc\u0105 odpowiedniej wtyczki. Dzi\u0119ki niej mo\u017Cliwa jest obs\u0142uga u\u017Cytkownik\u00F3w i grup utworzonych w OLAT przez serwer Openfire. Aby zainstalowa\u0107 wtyczk\u0119, pobierz j\u0105 <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">st\u0105d</a> i za\u0142aduj przez panel administracyjny serwera Openfire.
-imadmin.plugin.title=Komunikacja z serwerem IM
-imadmin.plugin.version=Odpowied\u017A na zapytanie wtyczki\: {0}
-imadmin.plugin.webconsole=Otw\u00F3rz panel administracyjny www serwera Openfire\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> i zaloguj si\u0119 z loginem administracyjnym\: <b>{1}</b> z has\u0142em\: <b>{2}</b>
-imadmin.sync.cmd.dosync=Rozpocznij synchronizacj\u0119
-imadmin.sync.cmd.dosync.caption=Proces synchronizacji w toku. To mo\u017Ce zaj\u0105\u0107 troch\u0119 czasu. Prosimy o cierpliwo\u015B\u0107...
-imadmin.sync.failed=Serwer komunikatora jest nieosi\u0105galny. Proces synchronizacji anulowano.
-imadmin.sync.intro=Proces synchronizacji uaktualni wszystkie grupy projekt\u00F3w i grupy edukacyjne do postaci grup na serwerze komunikatora. Ta operacja ma sens, je\u015Bli serwer komunikatora by\u0142 chwiliowo niedost\u0119pny.
-imadmin.sync.title=Synchronizacja z serwerem komunikatora
-imadmin.title=Administracja serwera IM (Instant Messaging)
-imadming.chatpolltime=Chat poll time in [msec]
-imadming.chatpolltime.default=Domy\u015Blnie {0} millisekund
-imadming.idlepolltime=Idle poll time in [msec]
-imadming.idlepolltime.default=Domy\u015Blnie {0} millisekund
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_BR.properties
deleted file mode 100644
index 6d3d52cc364f269ec67bfc4023e31f0007374903..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_BR.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Tue Apr 03 15:08:37 CEST 2012
-imadmin.form.title=Configura\u00E7\u00E3o do chat HTML
-imadmin.plugin.admin.connection=Reconnecte. Somente necess\u00E1rio se AutoConnect falhar. Verifique a interface do IM web server para a sess\u00E3o restabelecida do usu\u00E1rio "admin".
-imadmin.plugin.admin.connection.done=Reconex\u00E3o realizada\! Verifique o painel do servidor IM.
-imadmin.plugin.admin.reconnect=reconnecte
-imadmin.plugin.check=Check
-imadmin.plugin.check.info=Verifique a vers\u00E3o do plugin do servidor IM
-imadmin.plugin.intro=OLAT comunica com <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> servidor de IM atrav\u00E9s de um plugin para representar os usu\u00E1rios/grupos do OLAT no Openfire. Para instalar o plugin no Openfire baixe-o <a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">aqui</a> e fa\u00E7a o upload na interface web do console de administra\u00E7\u00E3o Openfire.
-imadmin.plugin.sync.allusers=Todos os usu\u00E1rios OLAT ser\u00E3o sincronizados com o servidor de MI. Aten\u00E7\u00E3o\: usu\u00E1rios inv\u00E1lidos ser\u00E3o exclu\u00EDdos e recriado novamente com uma nova senha\!
-imadmin.plugin.title=Comunica\u00E7\u00E3o com o servidor IM
-imadmin.plugin.version=Consultando o plugin do servidor responedido\: {0}
-imadmin.plugin.webconsole=Abra a interface web do servidor Openfire\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> e fa\u00E7a login com username admin\: <b>{1}</b> e senha\: <b>{2}</b>
-imadmin.sync.cmd.dosync=Iniciar sincronizar
-imadmin.sync.cmd.dosync.caption=O processo de sincroniza\u00E7\u00E3o est\u00E1 ocorrendo. Pode levar algum tempo. Seja paciente.
-imadmin.sync.failed=O servidor de mensagem instant\u00E2nea n\u00E3o pode ser encontrado. Sincroniza\u00E7\u00E3o cancelada.
-imadmin.sync.intro=Esta sincroniza\u00E7\u00E3o atualizar\u00E1 todos seus grupos de trabalho e projeto como grupos Buddy Roster no servidor de mensagem instant\u00E2nea. Isto pode ser \u00FAtil quando o servidor de mensagem instant\u00E2nea esteve temporariamente indispon\u00EDvel.
-imadmin.sync.title=Sincroniza\u00E7\u00E3o do Buddy Roster
-imadmin.title=Administra\u00E7\u00E3o da Mensagem Instant\u00E2nea (IM)
-imadming.chatpolltime=Chat poll time em [msec]
-imadming.chatpolltime.default=Default {0} milisegundos
-imadming.idlepolltime=Idle poll time em [msec]
-imadming.idlepolltime.default=Default {0} milisegundos
-sync.all.users=Sincronize todos os usu\u00E1rios OLAT
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_PT.properties
deleted file mode 100644
index 487b43d57008d6e0ab9829e10db3031a2a8d6a6f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_pt_PT.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Mon Mar 02 09:54:04 CET 2009
-imadmin.sync.cmd.dosync=Iniciar sincronizar
-imadmin.sync.cmd.dosync.caption=O processo de sincroniza\u00E7\u00E3o est\u00E1 ocorrendo. Pode levar algum tempo. Seja paciente.
-imadmin.sync.failed=O servidor de mensagem instant\u00E2nea n\u00E3o pode ser encontrado. Sincroniza\u00E7\u00E3o cancelada.
-imadmin.sync.intro=Esta sincroniza\u00E7\u00E3o atualizar\u00E1 todos seus grupos de trabalho e projeto como grupos Buddy Roster no servidor de mensagem instant\u00E2nea. Isto pode ser \u00FAtil quando o servidor de mensagem instant\u00E2nea esteve temporariamente indispon\u00EDvel.
-imadmin.sync.title=Sincroniza\u00E7\u00E3o do Buddy Roster
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ru.properties
deleted file mode 100644
index 612f39e5dbebb02d28959a26624fb6e389348546..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_ru.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Thu Sep 24 16:22:26 CEST 2009
-imadmin.form.title=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F HTML \u0447\u0430\u0442\u0430
-imadmin.plugin.admin.connection=\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435. \u041D\u043E\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043C\u0435\u0445\u0430\u043D\u0438\u0437\u043C \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442. \u0412\u0441\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u0447\u0438\u0441\u043B\u0435\u043D\u044B \u0432 \u0412\u0435\u0431-\u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0432 \u043C\u0435\u043D\u044E "\u0441\u0435\u0430\u043D\u0441\u044B". \u041D\u0430\u0439\u0434\u0438\u0442\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F "\u0430\u0434\u043C\u0438\u043D".
-imadmin.plugin.admin.connection.done=\u041F\u043E\u0434\u043A\u043B\u044E\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0448\u043B\u043E \u0443\u0441\u043F\u0435\u0448\u043D\u043E\! \u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C Openfire \u0412\u0435\u0431-\u043A\u043E\u043D\u0441\u043E\u043B\u044C.
-imadmin.plugin.admin.reconnect=\u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0441\u043D\u043E\u0432\u0430
-imadmin.plugin.check=\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C
-imadmin.plugin.check.info=\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0432\u0435\u0440\u0441\u0438\u044E Plugin
-imadmin.plugin.intro=OLAT \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441  <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u043C \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E plugin \u0434\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u0439 \u0438 \u0433\u0440\u0443\u043F\u043F\u044B OLAT. Plugin \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043A\u0430\u0447\u0435\u043D <a target\="_blank" href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">\u0437\u0434\u0435\u0441\u044C</a> \u0438 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u0432 Openfire \u0412\u0435\u0431-\u043A\u043E\u043D\u0441\u043E\u043B\u0438.
-imadmin.plugin.title=\u041A\u043E\u043C\u043C\u0443\u043D\u0438\u043A\u0430\u0446\u0438\u044F \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043E\u043C IM
-imadmin.plugin.version=\u041E\u0442\u0432\u0435\u0442 \u043D\u0430 \u0437\u0430\u043F\u0440\u043E\u0441 \u043A plugin\: {0}
-imadmin.plugin.webconsole=\u041E\u0442\u043A\u0440\u044B\u0442\u044C Openfire \u0412\u0435\u0431-\u043A\u043E\u043D\u0441\u043E\u043B\u044C\: <a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> \u0412\u043E\u0439\u0442\u0438 \u043F\u043E\u0434  \u0438\u043C\u0435\u043D\u0435\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0430\u0434\u043C\u0438\u043D\: <b>{1}</b> \u0438 \u043F\u0430\u0440\u043E\u043B\u0435\u043C\: <b>{2}</b>.
-imadmin.sync.cmd.dosync=\u041D\u0430\u0447\u0430\u0442\u044C \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044E 
-imadmin.sync.cmd.dosync.caption=\u0418\u0434\u0451\u0442 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F. \u042D\u0442\u043E\u0442 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043C\u043E\u0436\u0435\u0442 \u0434\u043B\u0438\u0442\u044C\u0441\u044F \u0434\u043E\u043B\u0433\u043E. \u041F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430, \u043F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435 \u043F\u043E\u043A\u0430 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043A\u043E\u043D\u0447\u0435\u043D\u0430.
-imadmin.sync.failed=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0441\u0435\u0440\u0432\u0435\u0440\u0443 Instant Messaging, \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0431\u044B\u043B\u0430 \u043F\u0440\u0435\u0440\u0432\u0430\u043D\u0430.
-imadmin.sync.intro=\u0421 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0435 \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0433\u0440\u0443\u043F\u043F\u044B \u0431\u0443\u0434\u0443\u0442 \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043F\u0438\u0441\u043A\u043E\u0432 \u043A\u043E\u043B\u043B\u0435\u0433-\u0433\u0440\u0443\u043F\u043F \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043D\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 Instant Messaging. \u042D\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0438\u043C\u0435\u0442\u044C \u0441\u043C\u044B\u0441\u043B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 Instant Messaging \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u043B. \u042D\u0442\u0430 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u043E\u0434\u043B\u0438\u0442\u044C\u0441\u044F \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u0440\u0435\u043C\u044F. 
-imadmin.sync.title=\u0421\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u044F \u0441\u043F\u0438\u0441\u043A\u043E\u0432 \u043A\u043E\u043B\u043B\u0435\u0433 
-imadmin.title=\u0410\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 Instant Messaging (IM)
-imadming.chatpolltime=\u0412\u0440\u0435\u043C\u044F \u0427\u0430\u0442-\u043E\u043F\u0440\u043E\u0441\u0430 \u0432 [\u043C\u0441]
-imadming.chatpolltime.default=\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E {0} \u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434
-imadming.idlepolltime=\u0412\u0440\u0435\u043C\u044F \u043F\u0440\u043E\u0441\u0442\u043E\u0433\u043E (Idle) \u043E\u043F\u0440\u043E\u0441\u0430 \u0432 [\u043C\u0441]
-imadming.idlepolltime.default=\u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E {0} \u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_sq.properties
deleted file mode 100644
index d0846f36cfc9357476221d4f565bef1aff7cc72f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_sq.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#Mon Mar 02 09:54:11 CET 2009
-imadmin.form.title=Konfigurimi i HTML Chat
-imadmin.sync.cmd.dosync=Nise sinkronizimin
-imadmin.sync.cmd.dosync.caption=Procesi i sinkronizimit \u00EBsht\u00EB n\u00EB veprim. Kjo do t\u00EB mund t\u00EB merr ca koh\u00EB. Ju lutemi keni durim.
-imadmin.sync.failed=Serveri i Mesazhimit t\u00EB \u00C7astit nuk mund t\u00EB arrihet. Sinkronizimi u nd\u00EBrpre.
-imadmin.sync.intro=Ky sinkronizim do t\u00EB p\u00EBrdit\u00EBsoj studimin tuaj ose grupet e projektit si grupe Buddy Roster ne serverin e Mesazhimit t\u00EB \u00C7astit. Kjo do t\u00EB jet\u00EB e vlefshme n\u00EBse serveri i Mesazhimit t\u00EB \u00C7astit p\u00EBrkoh\u00EBsisht \u00EBsht\u00EB jo i gatsh\u00EBm
-imadmin.sync.title=Sinkronizimi i Buddy Roster
-imadming.chatpolltime=Koha Chat Poll n\u00EB [ms]
-imadming.chatpolltime.default=Zakonisht {0} milisekonda
-imadming.idlepolltime=Koha Idle Poll n\u00EB [ms]
-imadming.idlepolltime.default=Zakonisht {0} milisekonda
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_CN.properties
deleted file mode 100644
index a67a04d1858349fb507fc38ac33f064d256bec26..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_CN.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Sat Dec 19 07:19:58 CET 2009
-imadmin.form.title=HTML\u804A\u5929\u5BA4\u914D\u7F6E
-imadmin.plugin.admin.connection=\u5F53\u81EA\u52A8\u8FDE\u63A5\u5931\u8D25\u65F6\uFF0C\u8BF7\u91CD\u65B0\u8FDE\u63A5\u3002\u68C0\u67E5IM\u670D\u52A1\u5668web\u754C\u9762\uFF0Cweb\u754C\u9762\u662F\u7528\u6765\u6267\u884C\u91CD\u65B0\u8FDE\u63A5\u201C\u7BA1\u7406\u5458\u201D\u7528\u6237\u7684\u4EFB\u52A1\u754C\u9762\u3002
-imadmin.plugin.admin.connection.done=\u91CD\u65B0\u8FDE\u63A5\u5B8C\u6210\uFF01\u8BF7\u68C0\u67E5IM\u670D\u52A1\u5668\u4F1A\u8BDD\u9762\u677F\u3002
-imadmin.plugin.admin.reconnect=\u91CD\u65B0\u8FDE\u63A5
-imadmin.plugin.check=\u68C0\u67E5
-imadmin.plugin.check.info=\u68C0\u6D4BIM\u670D\u52A1\u5668\u63D2\u4EF6\u7248\u672C\u3002
-imadmin.plugin.intro=OLAT\u4E0E<a target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a>\u53EF\u4EE5\u5B9E\u73B0\u4EA4\u4E92\u3002\u5728Openfire\u63D2\u4EF6\u4E2D\uFF0CIM\u670D\u52A1\u5668\u901A\u8FC7Openfire\u63D2\u4EF6\u663E\u793A\u6765\u81EAOLAT\u7684\u7528\u6237\u548C\u7FA4\u7EC4\u3002\u60F3\u8981\u5B89\u88C5Openfire\u63D2\u4EF6\u8BF7\u53BB\u8FD9\u91CC<a target\="_blank" herf\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">\u4E0B\u8F7D</a>\uFF0COpenfire\u7BA1\u7406\u5458\u63A7\u5236\u53F0\u7684web\u754C\u9762\u80FD\u591F\u5B9E\u73B0Openfire\u5347\u7EA7\u3002
-imadmin.plugin.title=\u4E0EIM\u670D\u52A1\u5668\u901A\u8BAF
-imadmin.plugin.version=\u67E5\u8BE2\u670D\u52A1\u5668\u63D2\u4EF6\u8FD4\u56DE\u4FE1\u606F\uFF1A{0}
-imadmin.plugin.webconsole=\u6253\u5F00Openfire\u670D\u52A1\u5668web\u754C\u9762\uFF1A<a target\="_blank" herf\="http\://{0}\:9090/">http\://{0}\:9090/</a>\u5E76\u4EE5\u7BA1\u7406\u5458\u8D26\u53F7\u767B\u9646\uFF1A<b>{1}</b> \u7BA1\u7406\u5458\u8D26\u53F7\u5BC6\u7801\uFF1A<b>{2}</b>
-imadmin.sync.cmd.dosync=\u542F\u52A8\u540C\u6B65
-imadmin.sync.cmd.dosync.caption=\u6B63\u5728\u540C\u6B65\u3002\u8FD9\u53EF\u80FD\u82B1\u51E0\u5206\u949F\uFF0C\u8BF7\u8010\u5FC3\u7B49\u5F85\uFF01
-imadmin.sync.failed=\u65E0\u6CD5\u8FDE\u63A5\u5373\u65F6\u6D88\u606F\u670D\u52A1\u5668\u3002\u540C\u6B65\u53D6\u6D88\u3002
-imadmin.sync.intro=\u8FD9\u6B21\u540C\u6B65\u5C06\u4F1A\u66F4\u65B0\u4F60\u5728\u5373\u65F6\u6D88\u606F\u670D\u52A1\u5668\u4E0A\u5B66\u4E60\u7EC4\u6216\u9879\u76EE\u7EC4\u7684\u597D\u53CB\u540D\u5355\u3002\u5982\u679C\u5373\u65F6\u6D88\u606F\u670D\u52A1\u5668\u6682\u65F6\u65E0\u6548, \u8FD9\u6837\u505A\u662F\u5F88\u6709\u5FC5\u8981\u7684\u3002
-imadmin.sync.title=\u540C\u6B65\u597D\u53CB\u540D\u5355
-imadmin.title=\u5B98\u65B9\u7684\u5373\u65F6\u6D88\u606F
-imadming.chatpolltime=\u804A\u5929\u7684\u6295\u7968\u65F6\u95F4[\u6BEB\u79D2]
-imadming.chatpolltime.default=\u9ED8\u8BA4{0}\u6BEB\u79D2
-imadming.idlepolltime=\u7A7A\u95F2\u65F6\u95F4[\u6BEB\u79D2]
-imadming.idlepolltime.default=\u9ED8\u8BA4{0}\u6BEB\u79D2
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_TW.properties
deleted file mode 100644
index a64bb7471e3ca6e150cf2ef4ac9a1421c35ad363..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/LocalStrings_zh_TW.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Sat May 16 16:41:47 CEST 2009
-imadmin.form.title=HTML \u804A\u5929\u5BA4\u8A2D\u5B9A
-imadmin.plugin.admin.connection=\u9032\u884C\u9023\u7DDA\u91CD\u8A2D\u3002 \u53EA\u6709\u5728\u81EA\u52D5\u9023\u7DDA\u5931\u6557\u6642\u624D\u9700\u8981\u3002 \u6AA2\u67E5 IM \u4F3A\u670D\u5668\u7684\u7DB2\u9801\u4ECB\u9762\u6709\u7121 "admin" \u4F7F\u7528\u8005\u7684\u91CD\u8907\u9023\u7DDA\u3002
-imadmin.plugin.admin.connection.done=\u91CD\u65B0\u9023\u7DDA\u5B8C\u6210\uFF01\u6AA2\u67E5 IM \u4F3A\u670D\u5668\u7684\u5DE5\u4F5C\u968E\u6BB5\u9762\u7248\u3002
-imadmin.plugin.admin.reconnect=\u91CD\u65B0\u9023\u7DDA
-imadmin.plugin.check=\u6AA2\u67E5
-imadmin.plugin.check.info=\u6AA2\u67E5 IM \u4F3A\u670D\u5668 plugin \u7684\u7248\u672C\u3002
-imadmin.plugin.intro=OLAT \u548C <a  target\="_blank" href\="http\://www.igniterealtime.org/projects/openfire/">Openfire</a> IM \u4F3A\u670D\u5668\u662F\u900F\u904E\u4E00\u500B plugin \u4F86\u6E9D\u901A\uFF0C\u5728 Openfire \u4E2D\u8868\u793A\u4F86\u81EA OLAT \u7684\u4F7F\u7528\u8005/\u7FA4\u7D44\u3002 \u8981\u5728 Openfire \u4E2D\u5B89\u88DD\u9019\u500B plugin \u53EF\u4EE5\u5F9E<a target\="_blank"  href\="http\://www.openolat.org/fileadmin/downloads/olatUserAndGroupService.jar">\u9019\u88E1</a>\u4E0B\u8F09\u4E26\u4E0A\u50B3\u5B83\u5230 Openfire \u7684\u7BA1\u7406\u8005\u7DB2\u9801\u4ECB\u9762\u3002
-imadmin.plugin.title=\u548C IM \u4F3A\u670D\u5668\u6E9D\u901A
-imadmin.plugin.version=\u67E5\u8A62\u4F3A\u670D\u5668 plugin \u56DE\u61C9\uFF1A{0}
-imadmin.plugin.webconsole=\u958B\u555F Openfire \u4F3A\u670D\u5668\u7DB2\u9801\u4ECB\u9762\uFF1A<a target\="_blank" href\="http\://{0}\:9090/">http\://{0}\:9090/</a> \u7136\u5F8C\u7528\u7BA1\u7406\u8005\u4E4B\u4F7F\u7528\u8005\u540D\u7A31\uFF1A<b>{1}</b> \u53CA\u5BC6\u78BC\uFF1A<b>{2}</b> \u767B\u5165
-imadmin.sync.cmd.dosync=\u958B\u59CB\u540C\u6B65
-imadmin.sync.cmd.dosync.caption=\u6B63\u5728\u540C\u6B65\u4E2D\u3002\u9019\u53EF\u80FD\u9700\u8981\u4E00\u4E9B\u6642\u9593\u3002\u8ACB\u8010\u5FC3\u7B49\u5019\u3002
-imadmin.sync.failed=\u5373\u6642\u8A0A\u606F\u4F3A\u670D\u5668\u7121\u6CD5\u9023\u7DDA\u3002\u540C\u6B65\u53D6\u6D88\u3002
-imadmin.sync.intro=\u9019\u500B\u540C\u6B65\u6A5F\u5236\u5C07\u6703\u628A\u6240\u6709\u60A8\u7684\u5B78\u7FD2\u7FA4\u7D44\u6216\u5C08\u6848\u7FA4\u7D44\u66F4\u65B0\u70BA\u5373\u6642\u8A0A\u606F\u4F3A\u670D\u5668\u4E0A\u7684\u597D\u53CB\u540D\u518A\u7FA4\u7D44\u3002\u5982\u679C\u5373\u6642\u8A0A\u606F\u4F3A\u52D9\u5668\u5DF2\u66AB\u6642\u7121\u6CD5\u4F7F\u7528\uFF0C\u9019\u500B\u5C31\u53EF\u4EE5\u6D3E\u4E0A\u7528\u5834\u3002
-imadmin.sync.title=\u597D\u53CB\u540D\u518A\u540C\u6B65
-imadmin.title=\u5373\u6642\u8A0A\u606F\u7BA1\u7406
-imadming.chatpolltime=\u804A\u5929\u6AA2\u67E5\u6642\u9593 [msec]
-imadming.chatpolltime.default=\u9810\u8A2D {0} \u6BEB\u79D2
-imadming.idlepolltime=\u9592\u7F6E\u6AA2\u67E5\u6642\u9593 [msec]
-imadming.idlepolltime.default=\u9810\u8A2D {0} \u6BEB\u79D2
diff --git a/src/main/java/org/olat/admin/instantMessaging/_i18n/i18nBundleMetadata.properties b/src/main/java/org/olat/admin/instantMessaging/_i18n/i18nBundleMetadata.properties
deleted file mode 100644
index 45c7b7ef89dbff328b3b385814746c986264ac76..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/admin/instantMessaging/_i18n/i18nBundleMetadata.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jan 29 22:19:00 CET 2009
-imadmin.plugin.admin.reconnect.annotation=no translation?
-imadmin.plugin.admin.connection.done.annotation=deutsch\=english \:)?
diff --git a/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java b/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java
index 882458bd526e3d6d029bbe9897158c436954964e..94adc5e5a399ef6d41f708c9a4f153c1ce709406 100644
--- a/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java
+++ b/src/main/java/org/olat/admin/registration/SystemRegistrationManager.java
@@ -44,6 +44,7 @@ import org.olat.basesecurity.BaseSecurity;
 import org.olat.basesecurity.Constants;
 import org.olat.basesecurity.PermissionOnResourceable;
 import org.olat.basesecurity.SecurityGroup;
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.configuration.Destroyable;
 import org.olat.core.configuration.Initializable;
@@ -271,7 +272,7 @@ public class SystemRegistrationManager extends BasicManager implements Initializ
 		msgProperties.put("locationCSV", registrationModule.getLocationCoordinates());
 		
 		// System config
-		msgProperties.put("instantMessagingEnabled", String.valueOf(InstantMessagingModule.isEnabled()));
+		msgProperties.put("instantMessagingEnabled", String.valueOf(CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()));
 		msgProperties.put("enabledLanguages", I18nModule.getEnabledLanguageKeys().toString());
 		msgProperties.put("clusterEnabled", clusterMode);
 		msgProperties.put("debuggingEnabled", String.valueOf(Settings.isDebuging()));
diff --git a/src/main/java/org/olat/admin/sysinfo/MRTGStatsDispatcher.java b/src/main/java/org/olat/admin/sysinfo/MRTGStatsDispatcher.java
index 446dd67bf4d64cfc17bb7caad39f6f2929351edc..7cd90f8eb868d5cd12bfdc651489008b08e7be6e 100644
--- a/src/main/java/org/olat/admin/sysinfo/MRTGStatsDispatcher.java
+++ b/src/main/java/org/olat/admin/sysinfo/MRTGStatsDispatcher.java
@@ -203,16 +203,16 @@ public class MRTGStatsDispatcher implements Dispatcher {
 			result.append("\n0\n");
 			result.append(instanceId);
 		} else if (command.equals("imstats")) { // get Jabber info
-			if (InstantMessagingModule.isEnabled()) {
-				result.append(InstantMessagingModule.getAdapter().countConnectedUsers());
+			if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()) {
+				result.append("0");
 				result.append("\n");
 				//result.append(InstantMessagingModule.getAdapter().countUsersRunningFlashClient());
 				result.append(0);
 				result.append("\n0\n");
-				result.append(instanceId);
+				result.append("-");
 			} else {
 				result.append("0\n0\n0\n");
-				result.append(instanceId);
+				result.append("-");
 			}
 		} else if (command.equals("debug")) { // get debug stats
 			// IMPORTANT: do not call too often, since .size() of a weakhashmap may be an expensive operation.
diff --git a/src/main/java/org/olat/collaboration/CollaborationTools.java b/src/main/java/org/olat/collaboration/CollaborationTools.java
index 5cbaced8b6e2c8188bac16f3177cd7da0e459adb..527fc370532bccd9e28e6c6be7c84fbc791192fd 100644
--- a/src/main/java/org/olat/collaboration/CollaborationTools.java
+++ b/src/main/java/org/olat/collaboration/CollaborationTools.java
@@ -80,7 +80,7 @@ import org.olat.course.run.calendar.CourseLinkProviderController;
 import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupService;
 import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
+import org.olat.instantMessaging.ui.ChatToolController;
 import org.olat.modules.co.ContactFormController;
 import org.olat.modules.fo.Forum;
 import org.olat.modules.fo.ForumCallback;
@@ -244,7 +244,7 @@ public class CollaborationTools implements Serializable {
 		toolArr.add(TOOL_CALENDAR);
 		toolArr.add(TOOL_FOLDER);
 		toolArr.add(TOOL_FORUM);
-		if (InstantMessagingModule.isEnabled()) {
+		if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()) {
 			toolArr.add(TOOL_CHAT);
 		}
 		toolArr.add(TOOL_WIKI);
@@ -476,21 +476,12 @@ public class CollaborationTools implements Serializable {
 	 * @param chatName
 	 * @return Controller
 	 */
-	public Controller createChatController(UserRequest ureq, WindowControl wControl, BusinessGroup grp) {
-		if (InstantMessagingModule.isEnabled()) {
-			GroupChatManagerController ccmc;
-			ccmc = InstantMessagingModule.getAdapter().getGroupChatManagerController(ureq);
-			if(ccmc == null) {
-				return null;//no chat available
-			}
-			ccmc.createGroupChat(ureq, wControl, ores, grp.getName(), false, false);
-			return ccmc.getGroupChatController(ores);
-		
-		} else {
-			throw new AssertException(
-					"cannot create a chat controller when instant messasging is disabled in the configuration"
-			);
+	public ChatToolController createChatController(UserRequest ureq, WindowControl wControl, BusinessGroup grp) {
+		InstantMessagingModule imModule = CoreSpringFactory.getImpl(InstantMessagingModule.class);
+		if (imModule.isEnabled() && imModule.isGroupEnabled()) {
+			return new ChatToolController(ureq, wControl, grp);
 		}
+		return null;
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java b/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
index ed4e99175da3f1acbb8976c3c64e187c3bbf3b6c..aaec0c2ca2677911f7e71530a7b13118114721ba 100644
--- a/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
+++ b/src/main/java/org/olat/collaboration/CollaborationToolsSettingsController.java
@@ -30,6 +30,7 @@ import java.util.Set;
 
 import org.olat.commons.calendar.CalendarManager;
 import org.olat.commons.calendar.ui.events.KalendarModifiedEvent;
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.form.flexible.FormItem;
@@ -266,7 +267,7 @@ class ChoiceOfToolsForm extends FormBasicController {
 		
 		for (int i=0; i<CollaborationTools.TOOLS.length; i++) {
 			String k = CollaborationTools.TOOLS[i];
-			if (k.equals(CollaborationTools.TOOL_CHAT) && !InstantMessagingModule.isEnabled()) {
+			if (k.equals(CollaborationTools.TOOL_CHAT) && !CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()) {
 				continue;
 			}
 			theKeys.add(""+i);
diff --git a/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml b/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml
index e11ed259a5f5b8e1627b58c9ca2ee5e80732754b..8412c26ec77e679e7bb4494caed7f83ed75505e8 100644
--- a/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml
+++ b/src/main/java/org/olat/core/commons/persistence/_spring/core_persistence.xml
@@ -74,6 +74,9 @@
 		<mapping-file>org/olat/core/commons/services/tagging/model/TagImpl.hbm.xml</mapping-file>
 		<mapping-file>org/olat/core/logging/activity/LoggingObject.hbm.xml</mapping-file>
 		<mapping-file>org/olat/course/db/impl/CourseDBEntryImpl.hbm.xml</mapping-file>
+		
+		<class>org.olat.instantMessaging.model.InstantMessageImpl</class>
+		<class>org.olat.instantMessaging.model.ImPreferencesImpl</class>
 		<properties>
 			<property name="hibernate.generate_statistics" value="true"/>
 			<property name="hibernate.archive.autodetection" value=""/>
diff --git a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java
index 52b655ede0238c6aabd2bb89ee9c6988f0f994df..66c602a4457786c6d8e05cf6afc9921b06f2fc3f 100644
--- a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java
+++ b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java
@@ -31,7 +31,6 @@ import java.util.regex.Pattern;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.panel.Panel;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
@@ -50,8 +49,7 @@ import org.olat.core.util.ConsumableBoolean;
  */
 public class FloatingResizableDialogController extends BasicController {
 	
-	private VelocityContainer wrapper = createVelocityContainer("index");
-	private Panel main;
+	private VelocityContainer wrapper;
 	private String panelName;
 	
 	private int offsetX = -1;
@@ -120,11 +118,11 @@ public class FloatingResizableDialogController extends BasicController {
 		this.offsetX = offsetX;
 		this.offsetY = offsetY;
 		
-		main = new Panel("extjsPanel");
-		main.setContent(wrapper);
-		
+		wrapper = createVelocityContainer("index");
 		wrapper.put("panelContent", content);
-		if (collabsibleContent != null) wrapper.put("collapsibleContent", collabsibleContent);
+		if (collabsibleContent != null) {
+			wrapper.put("collapsibleContent", collabsibleContent);
+		}
 		
 		panelName = "o_extjsPanel_" + (uniquePanelName == null ? hashCode() : uniquePanelName);
 		wrapper.contextPut("panelName", panelName);
@@ -147,7 +145,7 @@ public class FloatingResizableDialogController extends BasicController {
 		
 		wrapper.contextPut("ajaxFlags", wControl.getWindowBackOffice().getGlobalSettings().getAjaxFlags());
 		
-		putInitialPanel(main);
+		putInitialPanel(wrapper);
 	}
 
 	/**
diff --git a/src/main/java/org/olat/core/util/UserSession.java b/src/main/java/org/olat/core/util/UserSession.java
index 1ababad2d8138dc3fcf870d2c6b452979072a372..ee5a6f0b914bafb2de2ca5b1a61bd50003176f1d 100644
--- a/src/main/java/org/olat/core/util/UserSession.java
+++ b/src/main/java/org/olat/core/util/UserSession.java
@@ -27,6 +27,7 @@
 package org.olat.core.util;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -83,6 +84,7 @@ public class UserSession implements HttpSessionBindingListener, GenericEventList
 	private boolean authenticated = false;
 	private Preferences guiPreferences;
 	private EventBus singleUserSystemBus;
+	private List<String> chats;
 	private Stack<HistoryPoint> history = new Stack<HistoryPoint>();
 
 	public UserSession() {
@@ -159,6 +161,17 @@ public class UserSession implements HttpSessionBindingListener, GenericEventList
 	public Object removeEntryFromNonClearedStore(String key) {
 		return nonClearedStore.remove(key);
 	}
+	
+	public List<String> getChats() {
+		if(chats == null) {
+			synchronized(this) {
+				if(chats == null) {
+					chats = new ArrayList<String>(5);
+				}
+			}
+		}
+		return chats;
+	}
 
 	/**
 	 * @return Locale
diff --git a/src/main/java/org/olat/core/util/event/AbstractEventBus.java b/src/main/java/org/olat/core/util/event/AbstractEventBus.java
index ae1a653c54d590895ee44fd1d99d24366effd46e..8fa2b0f457ba2eabdc7db46db50dd6a1e678fb84 100644
--- a/src/main/java/org/olat/core/util/event/AbstractEventBus.java
+++ b/src/main/java/org/olat/core/util/event/AbstractEventBus.java
@@ -63,9 +63,9 @@ public abstract class AbstractEventBus implements EventBus {
 	/**
 	 * @return the listening names on a resource - only use for admin purposes!
 	 */
-	public Set getListeningIdentityNamesFor(OLATResourceable ores) {
+	public Set<String> getListeningIdentityNamesFor(OLATResourceable ores) {
 		EventAgency ea = getEventAgencyFor(ores);
-		Set s = ea.getListeningIdentityNames();
+		Set<String> s = ea.getListeningIdentityNames();
 		return s;
 	}
 
diff --git a/src/main/java/org/olat/core/util/event/EventAgency.java b/src/main/java/org/olat/core/util/event/EventAgency.java
index 0f2d24a4ccff16247092f111c03232f01a089daf..7859b71f100996edd77122716f328ca4ee08a713 100644
--- a/src/main/java/org/olat/core/util/event/EventAgency.java
+++ b/src/main/java/org/olat/core/util/event/EventAgency.java
@@ -36,7 +36,6 @@ import java.util.WeakHashMap;
 import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.id.Identity;
-import org.olat.core.logging.AssertException;
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
 import org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller;
@@ -133,7 +132,7 @@ class EventAgency {
 	 * use only for administrative purposes!
 	 * @return a Set of IdentitieNames (Strings) who are registered with this event agency.
 	 */
-	Set getListeningIdentityNames() {
+	Set<String> getListeningIdentityNames() {
 		synchronized (listeners) {//cluster_ok
 			Collection<String> c = listeners.values();
 			Set<String> distinctIds = new HashSet<String>(c);
diff --git a/src/main/java/org/olat/core/util/event/EventBus.java b/src/main/java/org/olat/core/util/event/EventBus.java
index 7c7eff12e18de9f4335e03910ebd27ce10764717..f3789790b5113dca993c70fa2ecbde1316c461c4 100644
--- a/src/main/java/org/olat/core/util/event/EventBus.java
+++ b/src/main/java/org/olat/core/util/event/EventBus.java
@@ -96,7 +96,7 @@ public interface EventBus {
 	 * @return a Set of Identities which had at the very moment controllers which
 	 *         were listening to the OLATResourceable ores
 	 */
-	public abstract Set getListeningIdentityNamesFor(OLATResourceable ores);
+	public abstract Set<String> getListeningIdentityNamesFor(OLATResourceable ores);
 
 	/**
 	 * 
diff --git a/src/main/java/org/olat/course/nodes/iq/AssessmentEvent.java b/src/main/java/org/olat/course/nodes/iq/AssessmentEvent.java
index 315d4fc12e27f651f1e3fa6bf600273bc5f29ca7..5a0d1413f10cd4deb0f5611b5f1a76f5d7c95675 100644
--- a/src/main/java/org/olat/course/nodes/iq/AssessmentEvent.java
+++ b/src/main/java/org/olat/course/nodes/iq/AssessmentEvent.java
@@ -25,10 +25,12 @@
 
 package org.olat.course.nodes.iq;
 
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.Windows;
 import org.olat.core.util.UserSession;
 import org.olat.core.util.event.MultiUserEvent;
 import org.olat.instantMessaging.InstantMessagingModule;
+import org.olat.instantMessaging.InstantMessagingService;
 
 /**
  * 
@@ -66,8 +68,8 @@ public class AssessmentEvent extends MultiUserEvent {
 			//increment assessmentCounter
 			counter++;		
 		  Windows.getWindows(userSession).setAttribute(ASSESSMENT_STARTED_KEY, counter);
-		  if (InstantMessagingModule.isEnabled()) {
-				InstantMessagingModule.getAdapter().disableChat(userSession.getIdentity().getName(), "Working on test (IM disabled)");
+		  if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()) {
+				CoreSpringFactory.getImpl(InstantMessagingService.class).disableChat(userSession.getIdentity());
 		  }
 		} else if(TYPE.STOPPED.equals(type)) {
 			Integer assessmentCounter = (Integer)Windows.getWindows(userSession).getAttribute(ASSESSMENT_STARTED_KEY);
@@ -75,8 +77,8 @@ public class AssessmentEvent extends MultiUserEvent {
 		  //decrement assessmentCounter
 			counter--;			
 			Windows.getWindows(userSession).setAttribute(ASSESSMENT_STARTED_KEY, counter);
-			if (InstantMessagingModule.isEnabled() && counter==0) {
-				InstantMessagingModule.getAdapter().enableChat(userSession.getIdentity().getName());
+			if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled() && counter==0) {
+				CoreSpringFactory.getImpl(InstantMessagingService.class).enableChat(userSession.getIdentity());
 			}
 		}
 	}
diff --git a/src/main/java/org/olat/course/nodes/iq/IQRunController.java b/src/main/java/org/olat/course/nodes/iq/IQRunController.java
index 34afc919de10b959e88f3fd68f5c03d52011b9e7..78d1d4761d86e9b2fba88b090587615a9f5dd5d8 100644
--- a/src/main/java/org/olat/course/nodes/iq/IQRunController.java
+++ b/src/main/java/org/olat/course/nodes/iq/IQRunController.java
@@ -79,7 +79,7 @@ import org.olat.ims.qti.container.AssessmentContext;
 import org.olat.ims.qti.navigator.NavigatorDelegate;
 import org.olat.ims.qti.process.AssessmentInstance;
 import org.olat.ims.qti.process.ImsRepositoryResolver;
-import org.olat.instantMessaging.InstantMessaging;
+import org.olat.instantMessaging.InstantMessagingService;
 import org.olat.modules.ModuleConfiguration;
 import org.olat.modules.iq.IQDisplayController;
 import org.olat.modules.iq.IQManager;
@@ -122,7 +122,6 @@ public class IQRunController extends BasicController implements GenericEventList
 	private OLATResourceable assessmentEventOres;	
 	private UserSession userSession;
 	
-	private OLATResourceable chatEventOres;
 	private OLATResourceable assessmentInstanceOres;
 	
 	
@@ -147,7 +146,6 @@ public class IQRunController extends BasicController implements GenericEventList
 		this.singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
 		this.assessmentEventOres = OresHelper.createOLATResourceableType(AssessmentEvent.class);
 		this.assessmentInstanceOres = OresHelper.createOLATResourceableType(AssessmentInstance.class);
-		this.chatEventOres = OresHelper.createOLATResourceableType(InstantMessaging.class);
 		
 		this.userSession = ureq.getUserSession();
 		
@@ -346,14 +344,14 @@ public class IQRunController extends BasicController implements GenericEventList
 		
 		if (type.equals(AssessmentInstance.QMD_ENTRY_TYPE_ASSESS)) {
 			checkChats(ureq);
-			singleUserEventCenter.registerFor(this, getIdentity(), chatEventOres);
+			singleUserEventCenter.registerFor(this, getIdentity(), InstantMessagingService.TOWER_EVENT_ORES);
 		}
 	}
 	
 	private void checkChats (UserRequest ureq) {
 		List<?> allChats = null;
 		if (ureq != null) {
-			allChats = (List<?>)ureq.getUserSession().getEntry("chats");
+			allChats = ureq.getUserSession().getChats();
 		}
 		if (allChats == null || allChats.size() == 0) {
 			startButton.setEnabled (true);
@@ -668,7 +666,7 @@ public class IQRunController extends BasicController implements GenericEventList
 		}
 		
 		singleUserEventCenter.deregisterFor(this, assessmentInstanceOres);
-		singleUserEventCenter.deregisterFor(this, chatEventOres);
+		singleUserEventCenter.deregisterFor(this, InstantMessagingService.TOWER_EVENT_ORES);
 		
 		if (!assessmentStopped) {		 
 				AssessmentEvent assessmentStoppedEvent = new AssessmentEvent(AssessmentEvent.TYPE.STOPPED, userSession);
diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java b/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java
index 24c179f7d6cf35acdf44e0a4f68729254a0cef40..1cd3a2179f44d6873668bf55be2957a1624a6278 100644
--- a/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java
+++ b/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java
@@ -51,7 +51,7 @@ import org.olat.course.run.scoring.ScoreEvaluation;
 import org.olat.course.run.userview.UserCourseEnvironment;
 import org.olat.fileresource.FileResourceManager;
 import org.olat.instantMessaging.CloseInstantMessagingEvent;
-import org.olat.instantMessaging.InstantMessaging;
+import org.olat.instantMessaging.InstantMessagingService;
 import org.olat.modules.ModuleConfiguration;
 import org.olat.modules.scorm.ScormAPICallback;
 import org.olat.modules.scorm.ScormAPIandDisplayController;
@@ -237,7 +237,7 @@ public class ScormRunController extends BasicController implements ScormAPICallb
 
 	private void doLaunch(UserRequest ureq, boolean doActivate) {
 		ureq.getUserSession().getSingleUserEventCenter()
-			.fireEventToListenersOf(new CloseInstantMessagingEvent(), InstantMessaging.TOWER_EVENT_ORES);
+			.fireEventToListenersOf(new CloseInstantMessagingEvent(), InstantMessagingService.TOWER_EVENT_ORES);
 
 		if (cpRoot == null) {
 			// it is the first time we start the contentpackaging from this
diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java
index 6a141c7ac4b04f239eefac05c1f8f6ad83192451..7e267d27671dfdb3ef34fbb635fb5f89ec80e47f 100644
--- a/src/main/java/org/olat/course/run/RunMainController.java
+++ b/src/main/java/org/olat/course/run/RunMainController.java
@@ -117,7 +117,6 @@ import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupService;
 import org.olat.group.ui.edit.BusinessGroupModifiedEvent;
 import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
 import org.olat.modules.cp.TreeNodeEvent;
 import org.olat.note.NoteController;
 import org.olat.repository.RepositoryEntry;
@@ -156,7 +155,6 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 	private NavigationHandler navHandler;
 	private UserCourseEnvironment uce;
 	private LayoutMain3ColsController columnLayoutCtr;
-	private GroupChatManagerController courseChatManagerCtr;
 
 	private Controller currentToolCtr;
 	private ToolController toolC;
@@ -264,9 +262,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 		// instant messaging: send presence like "reading course: Biology I" as
 		// awareness info. Important: do this before initializing the toolbox
 		// controller!
-		if (InstantMessagingModule.isEnabled() && CourseModule.isCourseChatEnabled() && !isGuest) {
-			String intro = translate("course.presence.message.enter") + " " + getExtendedCourseTitle(ureq.getLocale());
-			InstantMessagingModule.getAdapter().sendStatus(identity.getName(), intro);
+		if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled() && CourseModule.isCourseChatEnabled() && !isGuest) {
 			if (course.getCourseEnvironment().getCourseConfig().isChatEnabled()) {
 				// create groupchat room link only if course chat is enabled
 				createCourseGroupChatLink(ureq);
@@ -366,12 +362,12 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 	 * @param ureq
 	 */
 	private void createCourseGroupChatLink(UserRequest ureq) {
-		
-		courseChatManagerCtr = InstantMessagingModule.getAdapter().getGroupChatManagerController(ureq);
+		/*
+		courseChatManagerCtr = CoreSpringFactory.getImpl(InstantMessaging.class).getGroupChatManagerController(ureq);
 		if (courseChatManagerCtr != null) {
 			courseChatManagerCtr.createGroupChat(ureq, getWindowControl(), course, getExtendedCourseTitle(ureq.getLocale()), true, true);
 			listenTo(courseChatManagerCtr);
-		}
+		}*/
 	}
 
 	/**
@@ -1126,10 +1122,12 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 		}
 		
 		//add group chat to toolbox
-		boolean instantMsgYes = InstantMessagingModule.isEnabled();
+		boolean instantMsgYes = CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled();
 		boolean chatIsEnabled = CourseModule.isCourseChatEnabled() &&  cc.isChatEnabled();
 		if (instantMsgYes && chatIsEnabled && !isGuest) {
 			// we add the course chat link controller to the toolbox
+			//TODO im 
+			/*
 			if (courseChatManagerCtr == null && ureq != null) createCourseGroupChatLink(ureq);
 			if (courseChatManagerCtr != null){
 				Controller groupChatController = courseChatManagerCtr.getGroupChatController(course);
@@ -1137,6 +1135,7 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 					myTool.addComponent(groupChatController.getInitialComponent());
 				}
 			}
+			 */
 		}
 		
 		if (CourseModule.displayParticipantsCount() && !isGuest) {
@@ -1227,12 +1226,11 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 
 		// instant messaging: send presence like "leaving course: Biology I" as
 		// awareness info.
-		if (InstantMessagingModule.isEnabled()&& CourseModule.isCourseChatEnabled() && !isGuest) {
-			if (courseChatManagerCtr != null) {
+		if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()&& CourseModule.isCourseChatEnabled() && !isGuest) {
+			//TODO im
+			/*if (courseChatManagerCtr != null) {
 				courseChatManagerCtr.removeChat(course);
-			}
-			String intro = translate("course.presence.message.leave") + " " + getExtendedCourseTitle(getLocale());
-			InstantMessagingModule.getAdapter().sendStatus(getIdentity().getName(), intro);
+			}*/
 		}
 		// log to Statistical and User log
 		ThreadLocalUserActivityLogger.log(CourseLoggingAction.COURSE_LEAVING, getClass());
diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
index 1b5534700d4b996c7775edad046c26db71501665..363af040fb55b94e75991aceb398dde12fd336f8 100644
--- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
+++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
@@ -45,7 +45,6 @@ import org.olat.basesecurity.SecurityGroup;
 import org.olat.collaboration.CollaborationTools;
 import org.olat.collaboration.CollaborationToolsFactory;
 import org.olat.core.commons.persistence.DB;
-import org.olat.core.commons.taskExecutor.TaskExecutorManager;
 import org.olat.core.id.Identity;
 import org.olat.core.id.Roles;
 import org.olat.core.logging.DBRuntimeException;
@@ -98,9 +97,6 @@ import org.olat.group.right.BGRightManager;
 import org.olat.group.right.BGRightsRole;
 import org.olat.group.ui.BGMailHelper;
 import org.olat.group.ui.edit.BusinessGroupModifiedEvent;
-import org.olat.instantMessaging.IMConfigSync;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.syncservice.SyncUserListTask;
 import org.olat.properties.Property;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.RepositoryEntryShort;
@@ -230,7 +226,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	public BusinessGroup updateBusinessGroup(Identity ureqIdentity, BusinessGroup group, String name, String description,
 			Integer minParticipants, Integer maxParticipants) {
 		
-		SyncUserListTask syncIM = new SyncUserListTask(group);
 		BusinessGroup bg = businessGroupDAO.loadForUpdate(group.getKey());
 
 		Integer previousMaxParticipants = bg.getMaxParticipants();
@@ -240,10 +235,8 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		bg.setMinParticipants(minParticipants);
 		bg.setLastUsage(new Date(System.currentTimeMillis()));
 		//auto rank if possible
-		autoRankCheck(ureqIdentity, bg, previousMaxParticipants, syncIM);
+		autoRankCheck(ureqIdentity, bg, previousMaxParticipants);
 		BusinessGroup updatedGroup = businessGroupDAO.merge(bg);
-
-		syncIM(syncIM, updatedGroup);
 		return updatedGroup;
 	}
 
@@ -251,7 +244,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	public BusinessGroup updateBusinessGroup(Identity ureqIdentity, BusinessGroup group, String name, String description,
 			Integer minParticipants, Integer maxParticipants, Boolean waitingList, Boolean autoCloseRanks) {
 		
-		SyncUserListTask syncIM = new SyncUserListTask(group);
 		BusinessGroup bg = businessGroupDAO.loadForUpdate(group.getKey());
 		
 		Integer previousMaxParticipants = bg.getMaxParticipants();
@@ -268,11 +260,11 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		bg.setAutoCloseRanksEnabled(autoCloseRanks);
 		bg.setLastUsage(new Date(System.currentTimeMillis()));
 		//auto rank if possible
-		autoRankCheck(ureqIdentity, bg, previousMaxParticipants, syncIM);
+		autoRankCheck(ureqIdentity, bg, previousMaxParticipants);
 		return businessGroupDAO.merge(bg);
 	}
 	
-	private void autoRankCheck(Identity identity, BusinessGroup updatedGroup, Integer previousMaxParticipants, SyncUserListTask syncIM) {
+	private void autoRankCheck(Identity identity, BusinessGroup updatedGroup, Integer previousMaxParticipants) {
 		if(updatedGroup.getWaitingListEnabled() == null || !updatedGroup.getWaitingListEnabled().booleanValue()
 				|| updatedGroup.getAutoCloseRanksEnabled() == null || !updatedGroup.getAutoCloseRanksEnabled().booleanValue()) {
 			//do not check further, no waiting list, no automatic ranks
@@ -286,7 +278,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		
 		if(currentMaxNumber > previousMaxNumber) {
 			//I can rank up some users
-			transferFirstIdentityFromWaitingToParticipant(identity, updatedGroup, null, syncIM);
+			transferFirstIdentityFromWaitingToParticipant(identity, updatedGroup, null);
 		}
 	}
 
@@ -465,7 +457,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	public BusinessGroup mergeBusinessGroups(final Identity ureqIdentity, BusinessGroup targetGroup,
 			final List<BusinessGroup> groupsToMerge, MailPackage mailing) {
 		groupsToMerge.remove(targetGroup);//to be sure
-		SyncUserListTask syncIM = new SyncUserListTask(targetGroup);
 		Roles ureqRoles = securityManager.getRoles(ureqIdentity);
 
 		targetGroup = businessGroupDAO.loadForUpdate(targetGroup.getKey());
@@ -510,16 +501,15 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		}
 		
 		for(Identity newOwner:newOwners) {
-			addOwner(newOwner, targetGroup, syncIM);
+			addOwner(newOwner, targetGroup);
 		}
 		for(Identity newParticipant:newParticipants) {
-			addParticipant(ureqIdentity, ureqRoles, newParticipant, targetGroup, mailing, syncIM);
+			addParticipant(ureqIdentity, ureqRoles, newParticipant, targetGroup, mailing);
 		}
 		for(Identity newWaiter:newWaiters) {
 			addToWaitingList(ureqIdentity, newWaiter, targetGroup, mailing);
 		}
-			
-		syncIM(syncIM, targetGroup);
+
 		for(BusinessGroup group:groupsToMerge) {
 			deleteBusinessGroup(group);
 		}
@@ -537,7 +527,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	
 	private void updateMembers(Identity ureqIdentity, Roles ureqRoles, MembershipModification membersMod,
 			BusinessGroup group, MailPackage mailing) {
-		final SyncUserListTask syncIM = new SyncUserListTask(group);
 		
 		group = businessGroupDAO.loadForUpdate(group.getKey());
 		
@@ -547,12 +536,12 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 
 		for(Identity owner:membersMod.getAddOwners()) {
 			if(!currentOwners.contains(owner)) {
-				addOwner(owner, group, syncIM);
+				addOwner(owner, group);
 			}
 		}
 		for(Identity participant:membersMod.getAddParticipants()) {
 			if(!currentParticipants.contains(participant)) {
-				addParticipant(ureqIdentity, ureqRoles, participant, group, mailing, syncIM);
+				addParticipant(ureqIdentity, ureqRoles, participant, group, mailing);
 			}
 		}
 		for(Identity waitingIdentity:membersMod.getAddToWaitingList()) {
@@ -568,7 +557,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 				ownerToRemove.add(removed);
 			}
 			if(currentParticipants.contains(removed)) {
-				removeParticipant(ureqIdentity, removed, group, mailing, syncIM);
+				removeParticipant(ureqIdentity, removed, group, mailing);
 			}
 			if(currentWaitingList.contains(removed)) {
 				removeFromWaitingList(ureqIdentity, removed, group, mailing);
@@ -578,8 +567,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		
 		//release lock
 		dbInstance.commit();
-		
-		syncIM(syncIM, group);
 	}
 
 	@Override
@@ -626,7 +613,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		List<BusinessGroup> groups = loadBusinessGroups(changesMap.keySet());
 		for(BusinessGroup group:groups) {
 			BusinessGroupMembershipsChanges changesWrapper = changesMap.get(group.getKey());
-			SyncUserListTask syncIM = new SyncUserListTask(group);
 			group = businessGroupDAO.loadForUpdate(group.getKey());
 					
 			for(Identity id:changesWrapper.addToWaitingList) {
@@ -636,21 +622,19 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 				removeFromWaitingList(ureqIdentity, id, group, mailing);
 			}
 			for(Identity id:changesWrapper.addTutors) {
-				addOwner(id, group, syncIM);
+				addOwner(id, group);
 			}
 			for(Identity id:changesWrapper.removeTutors) {
-				removeOwner(ureqIdentity, id, group, syncIM);
+				removeOwner(ureqIdentity, id, group);
 			}
 			for(Identity id:changesWrapper.addParticipants) {
-				addParticipant(ureqIdentity, ureqRoles, id, group, mailing, syncIM);
+				addParticipant(ureqIdentity, ureqRoles, id, group, mailing);
 			}
 			for(Identity id:changesWrapper.removeParticipants) {
-				removeParticipant(ureqIdentity, id, group, mailing, syncIM);
+				removeParticipant(ureqIdentity, id, group, mailing);
 			}
 			//release lock
 			dbInstance.commit();
-			
-			syncIM(syncIM, group);
 		}
 	}
 
@@ -791,12 +775,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 			// delete the publisher attached to this group (e.g. the forum and folder
 			// publisher)
 			notificationsManager.deletePublishersOf(group);
-	
-			// delete potential jabber group roster
-			if (InstantMessagingModule.isEnabled()) {
-				String groupID = InstantMessagingModule.getAdapter().createChatRoomString(group);
-				InstantMessagingModule.getAdapter().deleteRosterGroup(groupID);
-			}
 			log.audit("Deleted Business Group", group.toString());
 		} catch(DBRuntimeException dbre) {
 			Throwable th = dbre.getCause();
@@ -864,30 +842,24 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 
 	@Override
 	public BusinessGroupAddResponse addOwners(Identity ureqIdentity, List<Identity> addIdentities, BusinessGroup group) {
-		SyncUserListTask syncIM = new SyncUserListTask(group);
 		BusinessGroupAddResponse response = new BusinessGroupAddResponse();
 		for (Identity identity : addIdentities) {
 			group = loadBusinessGroup(group); // reload business group
 			if (securityManager.isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_GUESTONLY)) {
 				response.getIdentitiesWithoutPermission().add(identity);
-			} else if(addOwner(identity, group, syncIM)) {
+			} else if(addOwner(identity, group)) {
 				response.getAddedIdentities().add(identity);
 				log.audit("added identity '" + identity.getName() + "' to securitygroup with key " + group.getOwnerGroup().getKey());
 			} else {
 				response.getIdentitiesAlreadyInGroup().add(identity);
 			}
 		}
-		syncIM(syncIM, group);
 		return response;
 	}
 	
-	private boolean addOwner(Identity identity, BusinessGroup group, SyncUserListTask syncIM) {
+	private boolean addOwner(Identity identity, BusinessGroup group) {
 		if (!securityManager.isIdentityInSecurityGroup(identity, group.getOwnerGroup())) {
 			securityManager.addIdentityToSecurityGroup(identity, group.getOwnerGroup());
-			// add user to buddies rosters
-			if(syncIM != null) {
-				syncIM.addUserToAdd(identity.getName());
-			}
 			// notify currently active users of this business group
 			BusinessGroupModifiedEvent.fireModifiedGroupEvents(BusinessGroupModifiedEvent.IDENTITY_ADDED_EVENT, group, identity);
 			// do logging
@@ -898,7 +870,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	}
 	
 	private boolean addParticipant(Identity ureqIdentity, Roles ureqRoles, Identity identityToAdd, BusinessGroup group,
-			MailPackage mailing, SyncUserListTask syncIM) {
+			MailPackage mailing) {
 		
 		if(!securityManager.isIdentityInSecurityGroup(identityToAdd, group.getPartipiciantGroup())) {
 			boolean mustAccept = true;
@@ -923,7 +895,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 					}
 				}
 			} else {
-				internalAddParticipant(ureqIdentity, identityToAdd, group, syncIM);
+				internalAddParticipant(ureqIdentity, identityToAdd, group);
 				BusinessGroupMailing.sendEmail(ureqIdentity, identityToAdd, group, MailType.addParticipant, mailing, mailer);
 			}
 			return true;
@@ -939,14 +911,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	 * @param group
 	 * @param syncIM
 	 */
-	private void internalAddParticipant(Identity ureqIdentity, Identity identityToAdd, BusinessGroup group, SyncUserListTask syncIM) {
+	private void internalAddParticipant(Identity ureqIdentity, Identity identityToAdd, BusinessGroup group) {
 		securityManager.addIdentityToSecurityGroup(identityToAdd, group.getPartipiciantGroup());
 		
-		// add user to buddies rosters
-		if(syncIM != null) {
-			syncIM.addUserToAdd(identityToAdd.getName());
-		}
-		
 		// notify currently active users of this business group
 		BusinessGroupModifiedEvent.fireModifiedGroupEvents(BusinessGroupModifiedEvent.IDENTITY_ADDED_EVENT, group, identityToAdd);
 		// do logging
@@ -959,21 +926,18 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	public BusinessGroupAddResponse addParticipants(Identity ureqIdentity, Roles ureqRoles, List<Identity> addIdentities,
 			BusinessGroup group, MailPackage mailing) {	
 		BusinessGroupAddResponse response = new BusinessGroupAddResponse();
-		SyncUserListTask syncIM = new SyncUserListTask(group);
 
 		BusinessGroup currBusinessGroup = businessGroupDAO.loadForUpdate(group.getKey());	
 		for (final Identity identity : addIdentities) {
 			if (securityManager.isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_GUESTONLY)) {
 				response.getIdentitiesWithoutPermission().add(identity);
-			} else if(addParticipant(ureqIdentity, ureqRoles, identity, currBusinessGroup, mailing, syncIM)) {
+			} else if(addParticipant(ureqIdentity, ureqRoles, identity, currBusinessGroup, mailing)) {
 				response.getAddedIdentities().add(identity);
 				log.audit("added identity '" + identity.getName() + "' to securitygroup with key " + currBusinessGroup.getPartipiciantGroup().getKey());
 			} else {
 				response.getIdentitiesAlreadyInGroup().add(identity);
 			}
 		}
-
-		syncIM(syncIM, group);
 		return response;
 	}
 
@@ -984,20 +948,16 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		if(reservation != null && "BusinessGroup".equals(resource.getResourceableTypeName())) {
 			BusinessGroup group = businessGroupDAO.loadForUpdate(resource.getResourceableId());
 			if(!securityManager.isIdentityInSecurityGroup(identityToAdd, group.getPartipiciantGroup())) {
-				SyncUserListTask syncIM = new SyncUserListTask(group);
-				internalAddParticipant(ureqIdentity, identityToAdd, group, syncIM);
-				syncIM(syncIM, group);
+				internalAddParticipant(ureqIdentity, identityToAdd, group);
 			}
 			reservationDao.deleteReservation(reservation);
 		}
 	}
 
-	private void removeParticipant(Identity ureqIdentity, Identity identity, BusinessGroup group, MailPackage mailing, SyncUserListTask syncIM) {
+	private void removeParticipant(Identity ureqIdentity, Identity identity, BusinessGroup group, MailPackage mailing) {
 
 		boolean removed = securityManager.removeIdentityFromSecurityGroup(identity, group.getPartipiciantGroup());
 		if(removed) {
-			// remove user from buddies rosters
-			syncIM.addUserToRemove(identity.getName());
 			//remove subscriptions if user gets removed
 			removeSubscriptions(identity, group);
 			
@@ -1008,7 +968,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 			// Check if a waiting-list with auto-close-ranks is configurated
 			if ( group.getWaitingListEnabled().booleanValue() && group.getAutoCloseRanksEnabled().booleanValue() ) {
 				// even when doOnlyPostRemovingStuff is set to true we really transfer the first Identity here
-				transferFirstIdentityFromWaitingToParticipant(ureqIdentity, group, null, syncIM);
+				transferFirstIdentityFromWaitingToParticipant(ureqIdentity, group, null);
 			}	
 			// send mail
 			BusinessGroupMailing.sendEmail(ureqIdentity, identity, group, MailType.removeParticipant, mailing, mailer);
@@ -1018,13 +978,11 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	@Override
 	@Transactional
 	public void removeParticipants(Identity ureqIdentity, List<Identity> identities, BusinessGroup group, MailPackage mailing) {
-		final SyncUserListTask syncIM = new SyncUserListTask(group);
 		group = businessGroupDAO.loadForUpdate(group.getKey());
 		for (Identity identity : identities) {
-		  removeParticipant(ureqIdentity, identity, group, mailing, syncIM);
+		  removeParticipant(ureqIdentity, identity, group, mailing);
 		  log.audit("removed identiy '" + identity.getName() + "' from securitygroup with key " + group.getPartipiciantGroup().getKey());
 		}
-		syncIM(syncIM, group);
 	}
 
 	@Override
@@ -1071,11 +1029,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 			
 			Long groupKey = currentMembership.getGroupKey();
 			BusinessGroup nextGroup = businessGroupDAO.loadForUpdate(groupKey);
-			SyncUserListTask syncIM = new SyncUserListTask(nextGroup);
-			nextGroupMembership = removeGroupMembers(ureqIdentity, currentMembership, nextGroup, keyToIdentityMap, itMembership, mailing, syncIM);
+			nextGroupMembership = removeGroupMembers(ureqIdentity, currentMembership, nextGroup, keyToIdentityMap, itMembership, mailing);
 			//release the lock
 			dbInstance.commit();
-			syncIM(syncIM, nextGroup);
 		}
 
 		List<ResourceReservation> reservations = acService.getReservations(groupResources);
@@ -1088,7 +1044,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	
 	private final BusinessGroupMembershipViewImpl removeGroupMembers(Identity ureqIdentity, BusinessGroupMembershipViewImpl currentMembership,
 			BusinessGroup currentGroup, Map<Long,Identity> keyToIdentityMap, Iterator<BusinessGroupMembershipViewImpl> itMembership,
-			MailPackage mailing, SyncUserListTask syncIM) {
+			MailPackage mailing) {
 
 		BusinessGroupMembershipViewImpl previsousComputedMembership = currentMembership;
 		BusinessGroupMembershipViewImpl membership;
@@ -1107,10 +1063,10 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 			if(currentGroup.getKey().equals(membership.getGroupKey())) {
 				Identity id = keyToIdentityMap.get(membership.getIdentityKey());
 				if(membership.getOwnerGroupKey() != null) {
-					removeOwner(ureqIdentity, id, currentGroup, syncIM);
+					removeOwner(ureqIdentity, id, currentGroup);
 				}
 				if(membership.getParticipantGroupKey() != null) {
-					removeParticipant(ureqIdentity, id, currentGroup, mailing, syncIM);
+					removeParticipant(ureqIdentity, id, currentGroup, mailing);
 				}
 				if(membership.getWaitingGroupKey() != null) {
 					removeFromWaitingList(ureqIdentity, id, currentGroup, mailing);
@@ -1200,14 +1156,13 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		Roles ureqRoles = securityManager.getRoles(ureqIdentity);
 		
 		BusinessGroupAddResponse response = new BusinessGroupAddResponse();
-		SyncUserListTask syncIM = new SyncUserListTask(currBusinessGroup);
 		currBusinessGroup = businessGroupDAO.loadForUpdate(currBusinessGroup.getKey());
 		
 		for (Identity identity : identities) {
 			// check if identity is already in participant
 			if (!securityManager.isIdentityInSecurityGroup(identity,currBusinessGroup.getPartipiciantGroup()) ) {
 				// Identity is not in participant-list => move idenity from waiting-list to participant-list
-				addParticipant(ureqIdentity, ureqRoles, identity, currBusinessGroup, mailing, syncIM);
+				addParticipant(ureqIdentity, ureqRoles, identity, currBusinessGroup, mailing);
 				removeFromWaitingList(ureqIdentity, identity, currBusinessGroup, mailing);
 				response.getAddedIdentities().add(identity);
 				// notification mail is handled in controller
@@ -1215,8 +1170,6 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 				response.getIdentitiesAlreadyInGroup().add(identity);
 			}
 		}
-		
-		syncIM(syncIM, currBusinessGroup);
 		return response;
 	}
 
@@ -1261,11 +1214,10 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		EnrollState enrollStatus = new EnrollState();
 
 		ResourceReservation reservation = acService.getReservation(identity, reloadedGroup.getResource());
-		SyncUserListTask syncIM = new SyncUserListTask(reloadedGroup);
 		
 		//reservation has the highest priority over max participant or other settings
 		if(reservation != null) {
-			addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing, syncIM);
+			addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing);
 			enrollStatus.setEnrolled(BGMembership.participant);
 			log.info("doEnroll (reservation) - setIsEnrolled ", identity.getName());
 			if(reservation != null) {
@@ -1288,24 +1240,23 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 				}
 			} else {
 				//enough place
-				addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing, syncIM);
+				addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing);
 				enrollStatus.setEnrolled(BGMembership.participant);
 				log.info("doEnroll - setIsEnrolled ", identity.getName());
 			}
 		} else {
 			if (log.isDebug()) log.debug("doEnroll as participant beginTransaction");
-			addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing, syncIM);
+			addParticipant(ureqIdentity, ureqRoles, identity, reloadedGroup, mailing);
 			enrollStatus.setEnrolled(BGMembership.participant);						
 			if (log.isDebug()) log.debug("doEnroll as participant committed");
 		}
 		
-		syncIM(syncIM, reloadedGroup);
 		log.info("doEnroll end", identity.getName());
 		return enrollStatus;
 	}
 
 	private void transferFirstIdentityFromWaitingToParticipant(Identity ureqIdentity, BusinessGroup group, 
-			MailPackage mailing, SyncUserListTask syncIM) {
+			MailPackage mailing) {
 
 		// Check if waiting-list is enabled and auto-rank-up
 		if (group.getWaitingListEnabled() != null && group.getWaitingListEnabled().booleanValue()
@@ -1338,7 +1289,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 							//            This is needed to make sure the targetIdentity ends up in the o_loggingtable
 							ThreadLocalUserActivityLogger.setStickyActionType(ActionType.admin);
 							MailPackage subMailing = new MailPackage(false);//doesn0t send these emails but a specific one
-							addParticipant(ureqIdentity, null, firstWaitingListIdentity, group, subMailing, syncIM);
+							addParticipant(ureqIdentity, null, firstWaitingListIdentity, group, subMailing);
 							removeFromWaitingList(ureqIdentity, firstWaitingListIdentity, group, subMailing);
 						} finally {
 							ThreadLocalUserActivityLogger.setStickyActionType(formerStickyActionType);
@@ -1354,37 +1305,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		}
 	}
 	
-	private void syncIM(SyncUserListTask task, BusinessGroup group) {
-		if (!task.isEmpty() && InstantMessagingModule.isEnabled()) {
-			//evaluate whether to sync or not
-			IMConfigSync syncGroup = InstantMessagingModule.getAdapter().getConfig().getSyncGroupsConfig();
-			//only sync when a group is a certain type and this type is configured that you want to sync it
-			if(syncGroup.equals(IMConfigSync.allGroups) || 
-					(syncGroup.equals(IMConfigSync.perConfig) && isChatEnableFor(group))) { 
-
-				//course group enrolment is time critial so we move this in an separate thread and catch all failures 
-				try {
-					TaskExecutorManager.getInstance().runTask(task);
-				} catch (Exception e) {
-					log.error("Error trying to sync the roster of the business group: " + group, e);
-				}
-			}
-		}
-	}
-	
-	private boolean isChatEnableFor(BusinessGroup group) {
-		CollaborationTools tools = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(group);
-		if(tools == null) {
-			return false;
-		}
-		return tools.isToolEnabled(CollaborationTools.TOOL_CHAT);
-	}
-	
-	private void removeOwner(Identity ureqIdentity, Identity identityToRemove, BusinessGroup group, SyncUserListTask syncIM) {
+	private void removeOwner(Identity ureqIdentity, Identity identityToRemove, BusinessGroup group) {
 		securityManager.removeIdentityFromSecurityGroup(identityToRemove, group.getOwnerGroup());
-		// remove user from buddies rosters
-		syncIM.addUserToRemove(identityToRemove.getName());
-		
+
 		//remove subsciptions if user gets removed
 		removeSubscriptions(identityToRemove, group);
 		
@@ -1400,11 +1323,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	
 	@Override
 	public void removeOwners(Identity ureqIdentity, Collection<Identity> identitiesToRemove, BusinessGroup group) {
-		SyncUserListTask syncIM = new SyncUserListTask(group);
 		for(Identity identityToRemove:identitiesToRemove) {
-			removeOwner(ureqIdentity, identityToRemove, group, syncIM);
+			removeOwner(ureqIdentity, identityToRemove, group);
 		}
-		syncIM(syncIM, group);
 	}
 	
 	private void removeSubscriptions(Identity identity, BusinessGroup group) {
diff --git a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
index 6d99aa475c55b50f9bdace3b76865825fa8bce45..8485ab3661334c13bb862d7a8eeb7495670200e1 100644
--- a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
+++ b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
@@ -58,7 +58,6 @@ import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupService;
 import org.olat.group.GroupLoggingAction;
 import org.olat.group.ui.BGControllerFactory;
-import org.olat.instantMessaging.InstantMessagingModule;
 import org.olat.resource.accesscontrol.AccessControlModule;
 import org.olat.util.logging.activity.LoggingResourceable;
 
@@ -280,13 +279,6 @@ public class BusinessGroupEditController extends BasicController implements Cont
 				// notify current active users of this business group
 				BusinessGroupModifiedEvent
 						.fireModifiedGroupEvents(BusinessGroupModifiedEvent.CONFIGURATION_MODIFIED_EVENT, currBusinessGroup, null);
-				// rename the group also in the IM servers group list
-
-				if (InstantMessagingModule.isEnabled()) {
-					String groupID = InstantMessagingModule.getAdapter().createChatRoomString(currBusinessGroup);
-					InstantMessagingModule.getAdapter().renameRosterGroup(groupID, currBusinessGroup.getName());
-				}
-
 				// do logging
 				ThreadLocalUserActivityLogger.log(GroupLoggingAction.GROUP_CONFIGURATION_CHANGED, getClass());
 			}
diff --git a/src/main/java/org/olat/group/ui/run/BusinessGroupMainRunController.java b/src/main/java/org/olat/group/ui/run/BusinessGroupMainRunController.java
index fb1b616052386e8780b783c34b3a3f30b14d07e6..c5dfc93831539f3785b1db467df578b47c429b05 100644
--- a/src/main/java/org/olat/group/ui/run/BusinessGroupMainRunController.java
+++ b/src/main/java/org/olat/group/ui/run/BusinessGroupMainRunController.java
@@ -85,8 +85,9 @@ import org.olat.group.model.DisplayMembers;
 import org.olat.group.ui.BGControllerFactory;
 import org.olat.group.ui.edit.BusinessGroupEditController;
 import org.olat.group.ui.edit.BusinessGroupModifiedEvent;
+import org.olat.instantMessaging.CloseInstantMessagingEvent;
 import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.groupchat.InstantMessagingGroupChatController;
+import org.olat.instantMessaging.InstantMessagingService;
 import org.olat.modules.co.ContactFormController;
 import org.olat.modules.openmeetings.OpenMeetingsModule;
 import org.olat.modules.wiki.WikiManager;
@@ -179,7 +180,6 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 	private LayoutMain3ColsController columnLayoutCtr;
 
 	private Controller collabToolCtr;
-	private Controller chatCtr;
 	
 	private BusinessGroupEditController bgEditCntrllr;
 	//fxdiff VCRP-1,2: access control of resources
@@ -209,6 +209,7 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 	private Controller accessController;
 	
 	private boolean needActivation;
+	private final boolean chatAvailable;
 
 	/**
 	 * Do not use this constructor! Use the BGControllerFactory instead!
@@ -238,17 +239,23 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 			columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), null, null, vc, "grouprun");
 			listenTo(columnLayoutCtr); // cleanup on dispose
 			putInitialPanel(columnLayoutCtr.getInitialComponent());
+			chatAvailable = false;
 			return;
 		}
 
 		List<BusinessGroupMembership> memberships = businessGroupService.getBusinessGroupMembership(Collections.singletonList(bGroup.getKey()), getIdentity());
 		if(isOnWaitinglist(memberships)) {
 			putInitialPanel(getOnWaitingListMessage(ureq, bGroup));
+			chatAvailable = false;
 			return;
 		}
 
 		addLoggingResourceable(LoggingResourceable.wrap(businessGroup));
 		ThreadLocalUserActivityLogger.log(GroupLoggingAction.GROUP_OPEN, getClass());
+		
+		chatAvailable = CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled() &&
+				CoreSpringFactory.getImpl(InstantMessagingModule.class).isGroupEnabled() && 
+				CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(businessGroup).isToolEnabled(CollaborationTools.TOOL_CHAT);
 
 		isAdmin = ureq.getUserSession().getRoles().isOLATAdmin()
 				|| ureq.getUserSession().getRoles().isGroupManager()
@@ -290,12 +297,12 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 		setDisposedMsgController(disposedController);
 
 		// add as listener to BusinessGroup so we are being notified about changes.
-		CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, ureq.getIdentity(), businessGroup);
+		CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, getIdentity(), businessGroup);
 
 		// show disabled message when collaboration is disabled (e.g. in a test)		
 		if(AssessmentEvent.isAssessmentStarted(ureq.getUserSession())){
 			groupRunDisabled = true;
-			this.showError("grouprun.disabled");				
+			showError("grouprun.disabled");				
 		}
 		
 		Object wildcard = ureq.getUserSession().getEntry("wild_card_" + businessGroup.getKey());
@@ -581,15 +588,10 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 	private void handleTreeActions(UserRequest ureq, String cmd) {
 		// release edit lock if available
 		removeAsListenerAndDispose(bgEditCntrllr);
+		removeAsListenerAndDispose(collabToolCtr);
 		
 		CollaborationTools collabTools = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(businessGroup);
-		
-		// dispose current tool controller if available except for IM which should be available even while changing collabtool
-		if (collabToolCtr instanceof InstantMessagingGroupChatController) {
-			//
-		} else {
-			removeAsListenerAndDispose(collabToolCtr);
-		}
+
 		// init new controller according to user click
 		if (ACTIVITY_MENUSELECT_OVERVIEW.equals(cmd)) {
 			// root node clicked display overview
@@ -607,13 +609,7 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 			listenTo(collabToolCtr);
 			mainPanel.setContent(collabToolCtr.getInitialComponent());
 		} else if (ACTIVITY_MENUSELECT_CHAT.equals(cmd)) {
-			
-			if (chatCtr != null) {
-				collabToolCtr = chatCtr;
-			} else {
-				collabToolCtr = collabTools.createChatController(ureq, getWindowControl(), this.businessGroup);
-				chatCtr = collabToolCtr;
-			}
+			collabToolCtr = collabTools.createChatController(ureq, getWindowControl(), businessGroup);
 			if(collabToolCtr == null) {
 				showWarning("groupchat.not.available");
 				mainPanel.setContent(new Panel("empty"));
@@ -779,15 +775,10 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 	protected void doDispose() {
 		ThreadLocalUserActivityLogger.log(GroupLoggingAction.GROUP_CLOSED, getClass());
 		
-		if (chatCtr instanceof InstantMessagingGroupChatController) {
-			InstantMessagingGroupChatController chat = (InstantMessagingGroupChatController) chatCtr;
-			if (chat.isChatWindowOpen()) {
-				chat.close();
-				getWindowControl().getWindowBackOffice().sendCommandTo(chat.getCloseCommand());
-			}
-			removeAsListenerAndDispose(chatCtr);
+		if (chatAvailable) {
+			CloseInstantMessagingEvent e = new CloseInstantMessagingEvent(businessGroup);
+			singleUserEventBus.fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
 		}
-		
 		CoordinatorManager.getInstance().getCoordinator().getEventBus().deregisterFor(this, businessGroup);
 		if(singleUserEventBus != null) {
 			singleUserEventBus.deregisterFor(this, assessmentEventOres);
@@ -1073,10 +1064,7 @@ public class BusinessGroupMainRunController extends MainLayoutBasicController im
 		}
 
 		
-		if (InstantMessagingModule.isEnabled() && 
-				collabTools.isToolEnabled(CollaborationTools.TOOL_CHAT) && 
-				InstantMessagingModule.isSyncGroups() // whether LearningGroups can have chat or not)
-				) {
+		if (chatAvailable) {
 			gtnChild = new GenericTreeNode();
 			gtnChild.setTitle(translate("menutree.chat"));
 			gtnChild.setUserObject(ACTIVITY_MENUSELECT_CHAT);
diff --git a/src/main/java/org/olat/gui/control/OlatFooterController.java b/src/main/java/org/olat/gui/control/OlatFooterController.java
index 058be410e39e444e162668c6c97cba887eabfc34..ee4c0c49558d38765f030eef7d1417fbb2eadc60 100644
--- a/src/main/java/org/olat/gui/control/OlatFooterController.java
+++ b/src/main/java/org/olat/gui/control/OlatFooterController.java
@@ -27,31 +27,17 @@ package org.olat.gui.control;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.fullWebApp.DefaultFooterController;
-import org.olat.core.commons.fullWebApp.LayoutMain3ColsController;
-import org.olat.core.commons.fullWebApp.popup.BaseFullWebappPopupLayoutFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
 import org.olat.core.gui.components.util.UserLoggedInCounter;
 import org.olat.core.gui.components.velocity.VelocityContainer;
 import org.olat.core.gui.control.Controller;
 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.popup.PopupBrowserWindow;
 import org.olat.core.helpers.Settings;
 import org.olat.core.id.Identity;
-import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.Util;
-import org.olat.core.util.event.EventBus;
-import org.olat.core.util.event.GenericEventListener;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.course.nodes.iq.AssessmentEvent;
-import org.olat.ims.qti.process.AssessmentInstance;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.ui.ConnectedClientsListController;
 import org.olat.social.SocialModule;
 import org.olat.social.shareLink.ShareLinkController;
 
@@ -67,11 +53,8 @@ import org.olat.social.shareLink.ShareLinkController;
  * 
  * @author patrickb
  */
-public class OlatFooterController extends BasicController implements GenericEventListener { 
-	private VelocityContainer olatFootervc;
-	private Link showOtherUsers;
-	private EventBus singleUserEventCenter;
-	private OLATResourceable ass;
+public class OlatFooterController extends BasicController { 
+	private final VelocityContainer olatFootervc;
 
 	public OlatFooterController(UserRequest ureq, WindowControl wControl) {
 		super(ureq, wControl);
@@ -86,19 +69,12 @@ public class OlatFooterController extends BasicController implements GenericEven
 		boolean isGuest = (identity == null ? true : ureq.getUserSession().getRoles().isGuestOnly());
 		boolean isInvitee = (identity == null ? false : ureq.getUserSession().getRoles().isInvitee());
 		
-		// Push information about logged in users
-		showOtherUsers = LinkFactory.createLink("other.users.online", olatFootervc, this);
-		showOtherUsers.setAjaxEnabled(false);
-		showOtherUsers.setTarget("_blank");		
-		if (isGuest || isInvitee || !InstantMessagingModule.isEnabled()) {
-			showOtherUsers.setEnabled(false);
-		}
 		// Show user count
 		UserLoggedInCounter userCounter = new UserLoggedInCounter();
 		olatFootervc.put("userCounter", userCounter);
 
 		// share links
-		SocialModule socialModule = (SocialModule) CoreSpringFactory.getBean("socialModule");
+		SocialModule socialModule = CoreSpringFactory.getImpl(SocialModule.class);
 		if (socialModule.isShareEnabled() && socialModule.getEnabledShareLinkButtons().size() > 0) {
 			Controller shareLinkCtr = new ShareLinkController(ureq, wControl);
 			listenTo(shareLinkCtr); // for auto-dispose
@@ -118,70 +94,17 @@ public class OlatFooterController extends BasicController implements GenericEven
 			olatFootervc.contextPut("loggedIn", Boolean.FALSE);
 		}
 
-
 		olatFootervc.contextPut("olatversion", Settings.getFullVersionInfo() +" "+ Settings.getNodeInfo());
-
-		// enable/disable links to all users list when test starts is running
-		if (!isGuest && !isInvitee && InstantMessagingModule.isEnabled()) {
-			if (!isGuest) {
-				ass = OresHelper.createOLATResourceableType(AssessmentEvent.class);
-				singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
-				singleUserEventCenter.registerFor(this, getIdentity(), ass);
-			}
-		}
-		
 		putInitialPanel(olatFootervc);
 	}
 
+	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
-		if (source == showOtherUsers) {
-			
-			if (!showOtherUsers.isEnabled()) {
-				return;
-			}
-				// show list of other online users that are connected to jabber server
-			ControllerCreator ctrlCreator = new ControllerCreator() {
-				public Controller createController(UserRequest lureq, WindowControl lwControl) {
-					ConnectedClientsListController clientsListCtr = new ConnectedClientsListController(lureq, lwControl);
-					LayoutMain3ColsController mainLayoutCtr = new LayoutMain3ColsController(lureq, lwControl, null, null, clientsListCtr.getInitialComponent(), null);
-					mainLayoutCtr.addDisposableChildController(clientsListCtr);
-					return mainLayoutCtr;
-				}					
-			};
-			//wrap the content controller into a full header layout
-			ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, ctrlCreator);
-			//open in new browser window
-			PopupBrowserWindow pbw = getWindowControl().getWindowBackOffice().getWindowManager().createNewPopupBrowserWindowFor(ureq, layoutCtrlr);
-			pbw.open(ureq);
-			//
-		}
-
+		//
 	}
 
 	@Override
 	protected void doDispose() {
-		if (singleUserEventCenter != null) {
-			singleUserEventCenter.deregisterFor(this, ass);
-			ass = null;
-			singleUserEventCenter = null;
-		}
-	}
-
-	@Override
-	public void event(Event event) {
-		
-		if (event instanceof AssessmentEvent) {
-			if(((AssessmentEvent)event).getEventType().equals(AssessmentEvent.TYPE.STARTED)) {
-				showOtherUsers.setEnabled(false);
-				return;
-			} 
-			if(((AssessmentEvent)event).getEventType().equals(AssessmentEvent.TYPE.STOPPED)) {
-				OLATResourceable a = OresHelper.createOLATResourceableType(AssessmentInstance.class);
-				if (singleUserEventCenter.getListeningIdentityCntFor(a)<1) {
-					showOtherUsers.setEnabled(true);
-				}
-				return;
-			} 
-		}
+		//
 	}
 }
diff --git a/src/main/java/org/olat/gui/control/OlatTopNavController.java b/src/main/java/org/olat/gui/control/OlatTopNavController.java
index dd108295249cce708f8676625a454d1861039511..ce64cd97ae87e244e2fea8f582d42a2abfc23ac4 100644
--- a/src/main/java/org/olat/gui/control/OlatTopNavController.java
+++ b/src/main/java/org/olat/gui/control/OlatTopNavController.java
@@ -54,7 +54,7 @@ import org.olat.course.CourseModule;
 import org.olat.course.nodes.iq.AssessmentEvent;
 import org.olat.ims.qti.process.AssessmentInstance;
 import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
+import org.olat.instantMessaging.ui.InstantMessagingMainController;
 
 /**
  * Description:<br>
@@ -68,8 +68,7 @@ public class OlatTopNavController extends BasicController implements GenericEven
 	
 	private static final String ACTION_LOGOUT = "logout";
 	private VelocityContainer topNavVC;
-	private Controller imController;
-	private GroupChatManagerController groupChatController;
+	private InstantMessagingMainController imController;
 	private SearchController searchC;
 	private Link helpLink, loginLink, impressumLink;
 
@@ -90,13 +89,10 @@ public class OlatTopNavController extends BasicController implements GenericEven
 		boolean isInvitee = ureq.getUserSession().getRoles().isInvitee();
 		
 		// instant messaging area, only when enabled and user is not a guest user
-		if (InstantMessagingModule.isEnabled() && !isGuest && !isInvitee) {
-			imController = InstantMessagingModule.getAdapter().createClientController(ureq, this.getWindowControl());
+		if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled() && !isGuest && !isInvitee) {
+			imController = new InstantMessagingMainController(ureq, getWindowControl());
 			listenTo(imController);
 			topNavVC.put("imclient", imController.getInitialComponent());
-			groupChatController = InstantMessagingModule.getAdapter().getGroupChatManagerController(ureq);
-			listenTo(groupChatController);
-			topNavVC.put("groupchatcontroller", groupChatController.getGroupChatContainer());
 		}
 		//
 		// the help link
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 effccb8a605740b7577c99a0221674b3f56fff66..8cac8f21c3268044fd5d1f7ad3fdccbd12b70233 100644
--- a/src/main/java/org/olat/gui/control/_content/olatFooter.html
+++ b/src/main/java/org/olat/gui/control/_content/olatFooter.html
@@ -2,7 +2,7 @@
 	#if ($loggedIn)
     	<span id="b_username">$r.translate("footer.logged.in.as", ["$username"])</span>
     #end 
-   <span id="b_counter">($r.render("userCounter") $r.render("other.users.online"))</span>
+   <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" target="_blank">$olatversion</a>
diff --git a/src/main/java/org/olat/instantMessaging/AdminUserConnection.java b/src/main/java/org/olat/instantMessaging/AdminUserConnection.java
deleted file mode 100644
index 4adde9769d521a293cbc775a43931d0e84899887..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/AdminUserConnection.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging;
-
-import org.jivesoftware.smack.ConnectionConfiguration;
-import org.jivesoftware.smack.ConnectionListener;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.XMPPException;
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.LogDelegator;
-import org.olat.core.logging.StartupException;
-
-/**
- * Description:<br>
- * create a connection object for the admin user
- * 
- * <P>
- * Initial Date:  11.08.2008 <br>
- * @author guido
- */
-public class AdminUserConnection extends LogDelegator {
-
-	private XMPPConnection connection;
-	private IMConfig imConfig;
-
-	/**
-	 * [used by spring]
-	 * @param serverName
-	 * @param adminUsername
-	 * @param adminPassword
-	 * @param nodeId
-	 */
-	private AdminUserConnection(IMConfig imConfig) {
-		if (imConfig == null || imConfig.getAdminName() == null || imConfig.getAdminPassword() == null || imConfig.getServername() == null) {
-			throw new StartupException("Instant Messaging settings for admin user are not correct");
-		}
-		this.imConfig = imConfig;
-
-		if (imConfig.isEnabled()) {
-			final int LOOP_CNT=5;
-			for(int i=0; i<LOOP_CNT; i++) {
-				try{
-					connect(imConfig.getServername(), imConfig.getAdminName(), imConfig.getAdminPassword(), imConfig.getNodeId());
-					break; // leave if connect works fine
-				} catch(AssertException e) {
-					if (i+1==LOOP_CNT) {
-						// fxdiff: allow startup without IM
-						logError("Could not connect to IM within " + LOOP_CNT + " attempts. IM will not be available for this OLAT instance! You could try to enable it later by reconnect in IMAdmin.", e);
-						return;
-//						throw e; // dont throw anything, spring gets confused during startup!
-					}
-					logError("Could not connect to IM (yet?). Retrying in 2sec...", e);
-					try {
-						Thread.sleep(2000);
-					} catch (InterruptedException e1) {
-						// this empty catch is okay
-					}
-				}
-			}
-		}
-	}
-
-	private void connect(String servername, String adminUsername, String adminPassword, String nodeId) {
-		try {
-			ConnectionConfiguration conConfig = new ConnectionConfiguration(servername, 5222);
-			conConfig.setNotMatchingDomainCheckEnabled(false);
-			conConfig.setSASLAuthenticationEnabled(false);
-			//the admin reconnects automatically upon server restart or failure but *not* on a resource conflict and a manual close of the connection
-			//fxdiff: FXOLAT-233 don't reconnect upon lost connection here, each sendPacket will try for its own. this reconnection never stops!
-			conConfig.setReconnectionAllowed(false);
-			//conConfig.setDebuggerEnabled(true);
-			if (connection == null || !connection.isAuthenticated()) {
-				connection = new XMPPConnection(conConfig);
-				connection.connect();
-				connection.addConnectionListener(new ConnectionListener() {
-	
-					public void connectionClosed() {
-						logWarn("IM admin connection closed!", null);
-					}
-	
-					public void connectionClosedOnError(Exception arg0) {
-						logWarn("IM admin connection closed on exception!", arg0);
-					}
-	
-					public void reconnectingIn(int arg0) {
-						logWarn("IM admin connection reconnectingIn "+arg0, null);
-					}
-	
-					public void reconnectionFailed(Exception arg0) {
-						logWarn("IM admin connection reconnection failed: ", arg0);
-					}
-	
-					public void reconnectionSuccessful() {
-						logWarn("IM admin connection reconnection successful", null);
-					}
-					
-				});
-				if (nodeId != null) {
-					connection.login(adminUsername, adminPassword, "node"+nodeId);
-					logInfo("connected to IM at "+servername+" with user "+adminUsername+" and nodeId "+nodeId);
-				} else {
-					connection.login(adminUsername, adminPassword);
-					logInfo("connected to IM at "+servername+" with user "+adminUsername);
-				}
-			}
-		} catch (XMPPException e) {
-			throw new AssertException("Instant Messaging is enabled in olat.properties but instant messaging server not running: "
-					+ e.getMessage());
-		} catch (IllegalStateException e) {
-			throw new AssertException(
-					"Instant Messaging is enabled in olat.properties but could not connect with admin user. Does the admin user account exist on the IM server?: "
-							+ e.getMessage());
-		}
-		if (connection == null || !connection.isAuthenticated()) {
-		 throw new StartupException("could not connect to instant messaging server with admin user!");
-		}
-		
-	}
-
-	/**
-	 * [used by spring]
-	 * @return a valid connection to the IM server for the admin user
-	 */
-	public XMPPConnection getConnection() {
-		if (!precheckConnection()) return null;
-		return connection;
-	}
-	
-	public void dispose() {
-		if (connection != null) {
-			connection.disconnect();
-		}
-	}
-	
-	/**
-	 * manually trigger reconnection of the admin user
-	 */
-	public void resetAndReconnect() {
-		if (connection != null) {
-			if (connection.isConnected()) connection.disconnect();
-			connect(imConfig.getServername(), imConfig.getAdminName(), imConfig.getAdminPassword(), imConfig.getNodeId());
-		}
-	}
-	
-	//fxdiff: FXOLAT-233 precheck if connection is still available, or try once to reconnect.
-	private boolean precheckConnection(){
-		if (connection != null && connection.isConnected()) return true;
-		else {
-			try {
-				resetAndReconnect();
-			} catch (Exception e) {
-				logWarn("the lost IM connection could not be recovered", null);
-				return false;
-			}
-			return (connection != null && connection.isConnected());
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/ClientHelper.java b/src/main/java/org/olat/instantMessaging/ClientHelper.java
deleted file mode 100644
index 930ec7788712e498f506cb184cb6877453bdf832..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ClientHelper.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-
-package org.olat.instantMessaging;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import org.jivesoftware.smack.Roster;
-import org.jivesoftware.smack.RosterEntry;
-import org.jivesoftware.smack.RosterGroup;
-import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.PacketExtension;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smack.packet.Presence.Mode;
-import org.jivesoftware.smack.packet.Presence.Type;
-import org.jivesoftware.smackx.packet.DelayInformation;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.gui.translator.Translator;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.LogDelegator;
-import org.olat.core.util.Formatter;
-
-/**
- * Helper class needed for rendering the roster and message stuff Iterator free
- * for velocity. Velocity produces warnings when passing objects that return
- * Iterators for looping over collections. Class currenty only needed for roster
- * rendering in navigation bar.
- * <P>
- * Initial Date: 20.01.2005
- * 
- * @author guido
- */
-public class ClientHelper extends LogDelegator {
-
-
-
-	private InstantMessagingClient imc;
-	private Controller controller;
-	private VelocityContainer vc;
-	private Translator translator;
-
-	/**
-	 * @param username
-	 * @param locale
-	 */
-	public ClientHelper(String username, Controller controller, VelocityContainer vc, Translator translator) {
-		this.imc = InstantMessagingModule.getAdapter().getClientManager().getInstantMessagingClient(username);
-		this.controller = controller;
-		this.vc = vc;
-		this.translator = translator;
-	}
-
-	/**
-	 * @return a List
-	 */
-	public List<RosterGroup> getRoster() {
-		if (imc.isConnected()) {
-			List<RosterGroup> groups = new ArrayList<RosterGroup>();
-			for (Iterator <RosterGroup>i = imc.getRoster().getGroups().iterator(); i.hasNext();) {
-				groups.add(i.next());
-			}
-			return groups;
-		}
-		return new ArrayList<RosterGroup>(0);
-	}
-
-	/**
-	 * used by velocity
-	 * @return a list of distinct usernames of the roster
-	 */
-	public List<String> getDistinctRoster() {
-		ArrayList<String> emptyList =  new ArrayList<String>(0);
-		
-		if (imc.isConnected()) {
-			//fx FXOLAT-382  , NPE -> check for nullRoster
-			Roster roster = imc.getRoster();
-			if(roster == null) return emptyList;
-			return createLinkList(roster.getEntries().iterator(), null);
-		}
-		return emptyList;
-	}
-
-	/**
-	 * used by velocity
-	 * @param groupname
-	 * @return a List
-	 */
-	public List<String> getRosterGroupEntries(String groupname) {
-		if (imc.isConnected()) {
-			return createLinkList(imc.getRoster().getGroup(groupname).getEntries().iterator(), groupname);
-		}
-		return new ArrayList<String>();
-	}
-
-	private List<String> createLinkList(Iterator <RosterEntry> iter, String groupname) {
-		List<String> entries = new ArrayList<String>();
-		Link link;
-		for (Iterator <RosterEntry> i = iter; i.hasNext();) {
-			RosterEntry entry = i.next();
-			String entryPresence = getUserPresence(entry.getUser());
-			if (getShowOfflineBuddies() || entryPresence != "offline") {
-				if (groupname != null) {
-					link = LinkFactory.createCustomLink(entry.getUser()+createAppendixFromGroupName(groupname), "cmd.chat", "", Link.NONTRANSLATED, vc, controller);
-				} else {
-					link = LinkFactory.createCustomLink(entry.getUser(), "cmd.chat", "", Link.NONTRANSLATED, vc, controller);
-				}
-				Identity ident = BaseSecurityManager.getInstance().findIdentityByName(entry.getName());
-				if (ident != null) {
-					link.setCustomDisplayText(ident.getUser().getProperty(UserConstants.FIRSTNAME, null)+" "+ident.getUser().getProperty(UserConstants.LASTNAME, null)+" ("+ident.getName()+")");
-				} else {
-					link.setCustomDisplayText(entry.getName());
-				}
-				link.setCustomEnabledLinkCSS("o_instantmessaging_" + entryPresence +"_icon");
-				link.setUserObject(entry.getUser());
-				StringBuilder sb = new StringBuilder();
-				if (!imc.isChatDisabled()) {
-					sb.append(translator.translate("im.status")).append(" ");
-					sb.append(translator.translate("presence."+entryPresence));
-					sb.append("<br />");
-					if(ident != null){
-						//TODO:gs:a how to get the roster entries presence msg? new clienthelper will work but creates a im client!
-						sb.append(translator.translate("im.status.msg")).append(" ").append("");
-					}
-					sb.append("<br /><br />");
-					sb.append(translator.translate("im.start.chat"));
-				} else {
-					sb.append(translator.translate("im.chat.disabled"));
-				}
-				link.setTooltip(sb.toString(), false);
-				link.registerForMousePositionEvent(true);
-				entries.add(entry.getUser());
-			}
-		}
-		return entries;
-
-	}
-
-	public static String createAppendixFromGroupName(String groupname) {
-		int groupAsInt = 0;
-		char[] letters = groupname.toCharArray();
-		for (int i = 0; i < letters.length; i++) {
-			groupAsInt = groupAsInt + letters[i];
-		}
-		return String.valueOf(groupAsInt);
-	}
-
-	/**
-	 * @param groupname
-	 * @return online buddies for a certain group
-	 */
-	public String buddyCountOnlineForGroup(String groupname) {
-		if (imc.isConnected()) {
-			try {
-				return imc.buddyCountOnlineForGroup(groupname);
-			} catch (RuntimeException e) {
-				logWarn("Error while trying to count buddies for group", e);
-				return "(?/?)";
-			}
-		}
-		return "(?/?)";
-	}
-
-	/**
-	 * @param jid
-	 * @return the presence
-	 */
-	public String getUserPresence(String jid) {
-		try {
-			return imc.getUserPresence(jid);
-		} catch (RuntimeException e) {
-			logWarn("Error while trying to get user presence. User: "+imc.getUsername(), e);
-			return "";
-		}
-	}
-
-	/**
-	 * @param xmppAddressWithRessource
-	 * @return a string like test@testserver.ch
-	 */
-	public String parseJid(String xmppAddressWithRessource) {
-		return imc.parseJid(xmppAddressWithRessource);
-	}
-
-	/**
-	 * @return true if the user is connected
-	 */
-	public boolean isConnected() {
-		return imc.isConnected();
-	}
-
-	/**
-	 * @return a number of the online users for a user
-	 */
-	public String buddyCountOnline() {
-		if (imc.isConnected()) {
-			try {
-				return imc.buddyCountOnline();
-			} catch (RuntimeException e) {
-				logWarn("Error while trying to count buddies for group", e);
-				return "(?/?)";
-			}
-		}
-		return "(?/?)";
-	}
-
-	/**
-	 * @param type
-	 * @param status
-	 * @param priority
-	 * @param mode
-	 */
-	public void sendPresence(Type type, String status, int priority, Mode mode) {
-		imc.sendPresence(type, status, priority, mode);
-	}
-
-	/**
-	 * @return password
-	 */
-	public String getPassword() {
-		return imc.getPassword();
-	}
-
-	/**
-	 * @return status
-	 */
-	public String getStatus() {
-		return imc.getStatus();
-	}
-
-	/**
-	 * @return status message
-	 */
-	public String getStatusMsg() {
-		return imc.getStatusMsg();
-	}
-
-	/**
-	 * @return true if user likes seeing also his offline buddies in the roster
-	 */
-	public boolean getShowOfflineBuddies() {
-		return imc.getShowOfflineBuddies();
-	}
-
-	/**
-	 * @param showOfflineBuddies
-	 */
-	public void setShowOfflineBuddies(boolean showOfflineBuddies) {
-		imc.setShowOfflineBuddies(showOfflineBuddies);
-	}
-
-	/**
-	 * @return online time in minutes
-	 */
-	public String getOnlineTime() {
-		return imc.getOnlineTime();
-	}
-
-	/**
-	 * @return true if groups should be shown in roster
-	 */
-	public boolean isShowGroupsInRoster() {
-		return imc.isShowGroupsInRoster();
-	}
-
-	/**
-	 * @param showGroupsInRoster
-	 */
-	public void setShowGroupsInRoster(boolean showGroupsInRoster) {
-		imc.setShowGroupsInRoster(showGroupsInRoster);
-	}
-
-	/**
-	 * @return the users JID like test@testserver.ch
-	 */
-	public String getJid() {
-		return imc.getJid();
-	}
-
-
-	public static String getSendDate(Message msg, Locale loc) {
-		for (Iterator iter = msg.getExtensions().iterator(); iter.hasNext();) {
-			PacketExtension extension = (PacketExtension) iter.next();
-			if (extension.getNamespace().equals("jabber:x:delay")) {
-				DelayInformation delayInfo = (DelayInformation) extension;
-				Date date = delayInfo.getStamp();
-				// why does formatter with this method return a time in the afternoon
-				// like 03:24 instead of 15:24 like formatTime does??
-				return Formatter.getInstance(loc).formatDateAndTime(date);
-			}
-		}
-		// if no delay time now is returned
-		// return Formatter.getInstance(locale).formatTime(new Date());
-		Long receiveTime = (Long) msg.getProperty("receiveTime");
-		Date d = new Date();
-		d.setTime(receiveTime.longValue());
-		return Formatter.getInstance(loc).formatTime(d);
-	}
-
-	/**
-	 * send a presence packet "available" with a certain mode e.g. "away" to all
-	 * buddies
-	 * 
-	 * @param mode
-	 */
-	public void sendPresenceAvailable(Presence.Mode mode) {
-		imc.sendPresence(Presence.Type.available, null, 0, mode);
-	}
-
-	/**
-	 * send a presence packet "unavailable" to all buddies
-	 */
-	public void sendPresenceUnavailable() {
-		imc.sendPresence(Presence.Type.unavailable, null, 0, null);
-	}
-	
-	/**
-	 * 
-	 * @return boolean
-	 * true if user is allowed to chat and false during assessments when chat is disabled
-	 */
-	public boolean isChatDisabled() {
-		return imc.isChatDisabled();
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ClientManager.java b/src/main/java/org/olat/instantMessaging/ClientManager.java
deleted file mode 100644
index 8072b241bbef8b2da0a4294edc86c4d6045f02df..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ClientManager.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging;
-
-import java.util.Map;
-
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.util.event.GenericEventListener;
-
-public interface ClientManager {
-
-	/**
-	 * instant messaging needs its own password
-	 */
-	public static final String PROVIDER_INSTANT_MESSAGING = "INST-MSG";
-
-	/**
-	 * Creates an new instant messaging client and connects automatically
-	 * to the server. This method should only be used in a constructor and not 
-	 * be triggered by GUI events, otherwise clients that lost connections may get recreated
-	 * again.
-	 * @param username
-	 * @return JabberClient even if IM service is down
-	 */
-	public InstantMessagingClient getInstantMessagingClient(String username);
-
-	/**
-	 * Check whether a user has already an IM  client running
-	 * Use this method when fetching clients outside a controller constructor as users may have several sessions
-	 * to avoid reconnection of an duplicate session 
-	 * @param username
-	 * @return
-	 */
-	public boolean hasActiveInstantMessagingClient(String username);
-
-	/**
-	 * 
-	 * @param username
-	 * @param listener
-	 * @param listenToAllMessages - only the main controller needs to listen to all messages
-	 */
-	public void registerEventListener(String username, GenericEventListener listener, boolean listenToAllMessages);
-
-	public GenericEventListener getRegisteredEventListeners(String username, Controller controller);
-
-	public void deregisterControllerListener(String username, Controller controller);
-
-	public Chat createChat(final String username, String chatPartnerJid, final Controller controller);
-
-	/**
-	 * @param username
-	 */
-	public void addMessageListener(final String username);
-
-	/**
-	 * 
-	 * @param username
-	 */
-	public void addPresenceListener(final String username);
-
-	/**
-	 * helper method to trigger a presence update even if the server does not send
-	 * a presence packet itself (e.g. entering a test but no other buddies are online)
-	 * @param username
-	 */
-	public void sendPresenceEvent(Presence.Type type, String username);
-
-	/**
-	 * When a user logs out of olat we logout the client from the jabber server
-	 * and free the ressource
-	 * 
-	 * @param username
-	 */
-	public void destroyInstantMessagingClient(String username);
-
-	/**
-	 * returns the map (its iterator is safe)
-	 * 
-	 * @return map
-	 */
-	public Map<String, InstantMessagingClient> getClients();
-	
-	/**
-	 * Return the number of clients
-	 * @return
-	 */
-	public int getNumOfClients();
-
-	/**
-	 * Looks if user has credentials for IM. If not (auth == null) a new accounts
-	 * with a random generated password gets created otherwise the password gets
-	 * returned.
-	 * 
-	 * @param username the OLAT username
-	 * @return the password used for instant messaging
-	 */
-	public String getInstantMessagingCredentialsForUser(String username);
-
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	public void checkInstantMessagingCredentialsForUser(Long identityKey);
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java b/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java
deleted file mode 100644
index e939563bdc0d7654d60d8bfa947d72d56fe0a3f1..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ClientManagerImpl.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-
-package org.olat.instantMessaging;
-
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.lang.RandomStringUtils;
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.ChatManager;
-import org.jivesoftware.smack.MessageListener;
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.filter.PacketTypeFilter;
-import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Packet;
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.basesecurity.Authentication;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.manager.BasicManager;
-import org.olat.core.util.event.GenericEventListener;
-
-/**
- * Description: <br />
- * Manager class for creation and manipulation of the instant messaging client
- * for each user.
- * <P>
- * Initial Date: 14.10.2004
- * 
- * @author Guido Schnider
- */
-public class ClientManagerImpl extends BasicManager implements ClientManager {
-	// each client gets stored in a map under the username
-	// o_clusterNOK cache ?? what if the clientmanager runs on each vm? ok? why?
-	private Map<String, InstantMessagingClient> clients = new HashMap<String, InstantMessagingClient>();
-	private Map<String, GenericEventListener> listeners = Collections.synchronizedMap(new HashMap<String, GenericEventListener>());
-	/**
-	 * empty constructor
-	 */
-	private ClientManagerImpl() {
-	// nothing to do
-	}
-
-
-	/**
-	 * Creates an new instant messaging client and connects automatically
-	 * to the server. This method should only be used in a constructor and not 
-	 * be triggered by GUI events, otherwise clients that lost connections may get recreated
-	 * again.
-	 * @param username
-	 * @return JabberClient even if IM service is down
-	 */
-	public InstantMessagingClient getInstantMessagingClient(String username) {
-		// no need to sync over whole method (get/put) since only called once per
-		// UserRequest and username.
-		// we do not sync since "new InstantMessagingClient(...)" may last quite
-		// long.
-		InstantMessagingClient client;
-		synchronized(clients) {
-			client = clients.get(username);
-			if (client == null) {
-				String password = getInstantMessagingCredentialsForUser(username);
-				client = new InstantMessagingClient(username, password);
-				clients.put(username, client);
-			}
-		}
-		return client;
-	}
-	
-	/**
-	 * Check whether a user has already an IM  client running
-	 * Use this method when fetching clients outside a controller constructor as users may have several sessions
-	 * to avoid reconnection of an duplicate session 
-	 * @param username
-	 * @return
-	 */
-	public boolean hasActiveInstantMessagingClient(String username) {
-		synchronized(clients) {
-			return clients.containsKey(username);
-		}
-	}
-
-	/**
-	 * 
-	 * @param username
-	 * @param listener
-	 * @param listenToAllMessages - only the main controller needs to listen to all messages
-	 */
-	public void registerEventListener(String username, GenericEventListener listener, boolean listenToAllMessages) {
-			if (listenToAllMessages) {
-				listeners.put(username, listener);
-			} else {
-				listeners.put(username+listener.hashCode(), listener);
-			}
-	}
-	
-
-	public GenericEventListener getRegisteredEventListeners(String username, Controller controller) {
-		return listeners.get(username+controller.hashCode());
-	}
-
-	public void deregisterControllerListener(String username, Controller controller) {
-			listeners.remove(username+controller.hashCode());
-	}
-	
-	public Chat createChat(final String username, String chatPartnerJid, final Controller controller) {
-		ChatManager chatmanager = getInstantMessagingClient(username).getConnection().getChatManager();
-		Chat chat = chatmanager.createChat(chatPartnerJid, new MessageListener() {
-
-			public void processMessage(Chat chat, Message message) {
-				message.setProperty("receiveTime", new Long(new Date().getTime()));
-				GenericEventListener listener = listeners.get(username+controller.hashCode());
-				listener.event(new InstantMessagingEvent(message, "chatmessage"));
-			}
-		});
-		return chat;
-	}
-
-	/**
-	 * @param username
-	 */
-	public void addMessageListener(final String username) {
-		PacketListener packetListener = new PacketListener() {
-			public void processPacket(Packet packet) {
-				Message jabbmessage = (Message) packet;
-				//TODO:gs:b see issue: http://bugs.olat.org/jira/browse/OLAT-2966
-				//filter <script> msg. out - security risk of cross site scripting!
-				//or may user ext.util.strip script tag method on client side
-				jabbmessage.setProperty("receiveTime", new Long(new Date().getTime()));
-				GenericEventListener listener = listeners.get(username);
-				if (listener != null){
-					listener.event(new InstantMessagingEvent(packet, "message"));
-					if (isLogDebugEnabled()) logDebug("routing message event to controller of: "+packet.getTo());
-				}
-			}
-		};
-		getInstantMessagingClient(username).getConnection().addPacketListener(packetListener, new PacketTypeFilter(Message.class));
-	}
-
-	/**
-	 * 
-	 * @param username
-	 */
-	public void addPresenceListener(final String username) {
-		PacketListener packetListener = new PacketListener() {
-			public void processPacket(Packet packet) {
-				try {
-					GenericEventListener listener = listeners.get(username);
-					if (listener != null) {
-						listener.event(new InstantMessagingEvent(packet, "presence"));
-					}
-				} catch(Throwable th){
-					logWarn("Presence package", th);
-				}
-			}
-		};
-		getInstantMessagingClient(username).getConnection().addPacketListener(packetListener, new PacketTypeFilter(Presence.class));
-	}
-	
-	/**
-	 * helper method to trigger a presence update even if the server does not send
-	 * a presence packet itself (e.g. entering a test but no other buddies are online)
-	 * @param username
-	 */
-	public void sendPresenceEvent(Presence.Type type, String username) {
-		Presence presence = new Presence(type);
-		presence.setTo(username);
-		GenericEventListener listener = listeners.get(username);
-		if (listener != null) {
-			listener.event(new InstantMessagingEvent(presence, "presence"));
-		}
-	}
-
-	/**
-	 * Looks if user has credentials for IM. If not (auth == null) a new accounts
-	 * with a random generated password gets created otherwise the password gets
-	 * returned.
-	 * 
-	 * @param username the OLAT username
-	 * @return the password used for instant messaging
-	 */
-	public String getInstantMessagingCredentialsForUser(String username) {
-		Identity identity = BaseSecurityManager.getInstance().findIdentityByName(username);
-		if (identity==null) {
-			// OLAT-3556: masking this error temporarily
-			//@TODO
-			//@FIXME
-			logWarn("Identity not found for username="+username, null);
-			return null;
-		}
-		return getInstantMessagingCredentialsForUser(identity);
-	}
-
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	public String getInstantMessagingCredentialsForUser(Identity identity) {
-		if(identity == null) return null;
-		// synchronized: not needed here, since the credentials are only created once for a user (when that user logs in for the very first time).
-		// And a user will almost! never log in at the very same time from two different machines.
-		Authentication auth = BaseSecurityManager.getInstance().findAuthentication(identity, PROVIDER_INSTANT_MESSAGING);
-		
-		if (auth == null) { // create new authentication for provider and also a new IM-account
-			auth = createIMAuthentication(identity);
-		} 
-		/**
-		 * this does not decouple IM from the loginprocess, move account recreations in background thread somewhere else
-		 * maybe to the login background thread...
-		 */
-		//fxdiff: FXOLAT-233 
-		if (auth != null) return auth.getCredential();
-		else return "";
-	}
-	
-	@Override
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	public void checkInstantMessagingCredentialsForUser(Long identityKey) {
-		if(identityKey == null) return;
-		boolean auth = BaseSecurityManager.getInstance().hasAuthentication(identityKey, PROVIDER_INSTANT_MESSAGING);
-		if (!auth) { // create new authentication for provider and also a new IM-account
-			 Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false);
-			 if(identity != null) {
-				 createIMAuthentication(identity);
-			 }
-		} 
-	}
-
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	private Authentication createIMAuthentication(Identity identity) {
-		String username = identity.getName();
-		InstantMessaging im = InstantMessagingModule.getAdapter();
-	//if account exists on IM server but not on OLAT delete it first
-		if (im.hasAccount(username)) {
-			im.deleteAccount(username);
-		}
-		
-		String pw = RandomStringUtils.randomAlphanumeric(6);
-		if (im.createAccount(username, pw,
-				getFullname(identity), identity.getUser().getProperty(UserConstants.EMAIL, null))) {
-			Authentication auth = BaseSecurityManager.getInstance().createAndPersistAuthentication(identity, PROVIDER_INSTANT_MESSAGING,
-					identity.getName().toLowerCase(), pw);
-			logAudit("New instant messaging authentication account created for user:" + username, null);
-			return auth;
-		} else {
-			logWarn("new instant messaging account creation failed for user: " + username, null);
-			return null;
-		}
-	}
-
-
-	/**
-	 * 
-	 * @param identity
-	 * @return
-	 */
-	private String getFullname(Identity identity) {
-		return identity.getUser().getProperty(UserConstants.FIRSTNAME, null) + " " + identity.getUser().getProperty(UserConstants.LASTNAME, null);
-	}
-
-	/**
-	 * When a user logs out of olat we logout the client from the jabber server
-	 * and free the ressource
-	 * 
-	 * @param username
-	 */
-	public void destroyInstantMessagingClient(String username) {
-		InstantMessagingClient client;
-		synchronized(clients) {
-			client = clients.get(username);
-		}
-		if (client != null) {
-			listeners.remove(username);
-			client.closeConnection(false);
-			client.setGroupChatManager(null);
-			synchronized(clients) {
-				clients.remove(username);
-			}
-		}
-	}
-
-	/**
-	 * returns the map (its iterator is safe)
-	 * 
-	 * @return map
-	 */
-	@Override
-	public Map<String, InstantMessagingClient> getClients() {
-		synchronized(clients) {
-			return new HashMap<String, InstantMessagingClient>(clients);
-		}
-	}
-
-	@Override
-	public int getNumOfClients() {
-		synchronized(clients) {
-			return clients.size();
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/CloseInstantMessagingEvent.java b/src/main/java/org/olat/instantMessaging/CloseInstantMessagingEvent.java
index 117c2077bbbdbc3c1ada2a1846b7f77ce10172fe..9b39d6d3470e7eb759d20c38df14b6d7c363a3c1 100644
--- a/src/main/java/org/olat/instantMessaging/CloseInstantMessagingEvent.java
+++ b/src/main/java/org/olat/instantMessaging/CloseInstantMessagingEvent.java
@@ -19,6 +19,7 @@
  */
 package org.olat.instantMessaging;
 
+import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.event.MultiUserEvent;
 
 /**
@@ -35,7 +36,33 @@ public class CloseInstantMessagingEvent extends MultiUserEvent {
 
 	private static final long serialVersionUID = -2290953538061783875L;
 
+	private Long chatId;
+	private OLATResourceable ores;
+	
 	public CloseInstantMessagingEvent() {
 		super("closeim");
 	}
+	
+	public CloseInstantMessagingEvent(Long chatId) {
+		super("closeim");
+		this.chatId = chatId;
+	}
+	
+	public CloseInstantMessagingEvent(OLATResourceable ores) {
+		super("closeim");
+		this.ores = ores;
+		this.chatId = ores.getResourceableId();
+	}
+
+	public Long getChatId() {
+		return chatId;
+	}
+
+	public void setChatId(Long chatId) {
+		this.chatId = chatId;
+	}
+	
+	public OLATResourceable getOres() {
+		return ores;
+	}
 }
diff --git a/src/main/java/org/olat/instantMessaging/ConncectedUsersHelper.java b/src/main/java/org/olat/instantMessaging/ConncectedUsersHelper.java
deleted file mode 100644
index e1fcf03eb0f47548c7db53b2433af5a40274f773..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ConncectedUsersHelper.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging;
-
-/**
- * Helper object that delivers a dynamic numer of the current available
- * connected instant messaging objects.
- * <P>
- *          Initial Date: 01.02.2005 <br />
- * @author guido
- */
-public class ConncectedUsersHelper {
-
-	private final InstantMessaging im;
-
-	/**
-	 * constructor
-	 */
-	public ConncectedUsersHelper() {
-		im = InstantMessagingModule.getAdapter();
-	}
-
-	/**
-	 * [used by velocity]
-	 * @return number of connected users
-	 */
-	public int countConnectedUsers() {
-		return im.countConnectedUsers();
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/IMConfig.java b/src/main/java/org/olat/instantMessaging/IMConfig.java
deleted file mode 100644
index 247d0cf2f7da547243d9064d99432286a09c17f0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/IMConfig.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging;
-
-import org.jivesoftware.smack.SmackConfiguration;
-import org.olat.core.logging.StartupException;
-
-/**
- * Description:<br>
- * IM configuration set by spring
- * 
- * <P>
- * Initial Date:  10.08.2008 <br>
- * @author guido
- */
-public class IMConfig {
-	
-	private boolean enabled = false;
-	private String servername;
-	private boolean multipleInstances;
-	private String replaceStringForEmailAt;
-	private String adminUsername = "admin";
-	private String adminPassword;
-	private String CONFERENCE_PREFIX = "conference";
-	private int idlePolltime;
-	private int chatPolltime;
-	private String syncGroups;
-	public static final String RESOURCE = "OLAT";
-	// fxdiff: FXOLAT-46
-	private boolean hideExternalClientInfo;
-	private String adminName;
-	private String nodeId;
-	
-	
-	
-	/**
-	 * properties injected by spring
-	 */
-	public IMConfig() {
-	//
-	}
-	
-	public boolean isEnabled() {
-		return enabled;
-	}
-	
-	public void setEnabled(boolean enabled) {
-		this.enabled = enabled;
-	}
-	
-	public String getServername() {
-		return servername;
-	}
-	
-	public void setServername(String servername) {
-		this.servername = servername;
-	}
-	
-	public boolean isMultipleInstances() {
-		return multipleInstances;
-	}
-	
-	public void setMultipleInstances(boolean multipleInstances) {
-		this.multipleInstances = multipleInstances;
-	}
-	
-	public String getReplaceStringForEmailAt() {
-		return replaceStringForEmailAt;
-	}
-	
-	public void setReplaceStringForEmailAt(String replaceStringForEmailAt) {
-		if (replaceStringForEmailAt.contains("#") || replaceStringForEmailAt.contains("%")) {
-			throw new StartupException("do not use '#' or '%' as replace string as they get url encoded!");
-		}
-		this.replaceStringForEmailAt = replaceStringForEmailAt;
-	}
-	
-	public String getAdminPassword() {
-		return adminPassword;
-	}
-	
-	public void setAdminPassword(String adminPassword) {
-		this.adminPassword = adminPassword;
-	}
-	
-	public void setAdminName(String adminName) {
-		this.adminName = adminName;
-	}
-	
-	public String getAdminName(){
-		return adminName;
-	}
-	
-	public void setNodeId(String nodeId){
-		this.nodeId = nodeId;
-	}
-	
-	public String getNodeId(){
-		return nodeId;
-	}
-	
-	public String getConferenceServer() {
-		return CONFERENCE_PREFIX+"."+servername;
-	}
-	
-	// attention! always returns the default admin-name "admin"
-	public String getAdminUsername() {
-		return adminUsername;
-	}
-
-	public int getIdlePolltime() {
-		return idlePolltime;
-	}
-
-	public void setIdlePolltime(int idlePolltime) {
-		this.idlePolltime = idlePolltime;
-	}
-
-	public int getChatPolltime() {
-		return chatPolltime;
-	}
-
-	public void setChatPolltime(int chatPolltime) {
-		this.chatPolltime = chatPolltime;
-	}
-
-	public IMConfigSync getSyncGroupsConfig() {
-		if("true".equals(syncGroups)) {
-			return IMConfigSync.allGroups;
-		}
-		if("groupconfig".equals(syncGroups)) {
-			return IMConfigSync.perConfig;
-		}
-		return IMConfigSync.never;
-	}
-
-	public void setSyncGroups(String syncGroups) {
-		this.syncGroups = syncGroups;
-	}
-
-	public void setPacketReplyTimeout (int timeout) {
-		SmackConfiguration.setPacketReplyTimeout(timeout);
-	}
-
-	// fxdiff: FXOLAT-46
-	/**
-	 * @param hideExternalClientInfo The hideExternalClientInfo to set.
-	 */
-	public void setHideExternalClientInfo(boolean hideExternalClientInfo) {
-		this.hideExternalClientInfo = hideExternalClientInfo;
-	}
-
-	/**
-	 * @return Returns the hideExternalClientInfo.
-	 */
-	public boolean isHideExternalClientInfo() {
-		return hideExternalClientInfo;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/IMNameHelper.java b/src/main/java/org/olat/instantMessaging/IMNameHelper.java
deleted file mode 100644
index 917242a49069db3b7a15528f6948bde606f087da..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/IMNameHelper.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-package org.olat.instantMessaging;
-
-import org.olat.core.logging.LogDelegator;
-import org.olat.core.logging.StartupException;
-
-
-/**
- * Description:<br>
- * Helps to get the right user-/groupname for chat
- * Used to have multiple OLAT instances running on one single jabber server.
- * Can be turned off in olat.properties with instantMessaging.multipleInstances=false
- * <P>
- * Initial Date: 31.03.2008 <br>
- * 
- * @author Roman Haag, roman.haag@frentix.com
- * @author guido
- */
-public class IMNameHelper extends LogDelegator {
-
-	private String instanceID;
-	private String USERNAME_INSTANCE_DELIMITER = "_";
-	private String GROUPNAME_INSTANCE_DELIMITER = "-";
-	private IMConfig config;
-	
-	/**
-	 * [used by spring]
-	 * @param config
-	 */
-	public IMNameHelper(IMConfig config, String instanceID) {
-		if (config == null) throw new StartupException("IMConfig cannot be null!");
-		this.config = config;
-		this.instanceID = instanceID;
-	}
-
-	/**
-	 * convert olatUsername to imUsername the instanceID is attached to the
-	 * olatUsername to distinguish between multiple OLAT instances using all the
-	 * same IM-server
-	 * 
-	 * @param olatUsername (i.e: administrator, author) may contain @
-	 * @return im-Username/JID (i.e. administrator_OLATinstanceID )
-	 */
-	public String getIMUsernameByOlatUsername(String olatUsername) {
-		// replace "@" by "_at_" --> this allows "@" also for olat-usernames
-		String imUsername = olatUsername.replace("@", config.getReplaceStringForEmailAt());
-		if (config.isMultipleInstances()) {
-			return (imUsername + USERNAME_INSTANCE_DELIMITER + instanceID).toLowerCase();
-		}
-		else {
-			return imUsername.toLowerCase();
-		}
-	}
-	
-	/**
-	 * Get olatUsername from imUsername/JID 
-	 * 
-	 * @param imUsername (i.e. administrator_OLATinstanceID@jabber.olat.org )
-	 * 
-	 * @return olatUsername (i.e: administrator, author) may contain @
-	 */
-	public String extractOlatUsername(String imUsername) {
-		// info@localhost -> olat itself (chatbot)
-		// see ChatController.colorize()
-		if (imUsername != null && imUsername.indexOf("@")!=-1 ) {
-			if (imUsername.startsWith("info@")) return imUsername;
-			imUsername = imUsername.substring(0, imUsername.lastIndexOf("@"));
-			if (config.isMultipleInstances()){
-				try {
-					imUsername = imUsername.substring(0, imUsername.lastIndexOf(USERNAME_INSTANCE_DELIMITER));										
-				} catch (StringIndexOutOfBoundsException e) {
-					logError("Can not extract OLAT username from Jabber username::" + imUsername, e);					
-					return "?";
-				}
-			}
-			// if olatUsername contains @ this is backconverted from the "_at_"
-			// form, which was used for jabber-server
-			int atPos = imUsername.lastIndexOf(config.getReplaceStringForEmailAt());
-			if (atPos != -1) {
-				String tmpUsername = imUsername.substring(0, atPos);
-				tmpUsername += "@";
-				tmpUsername += imUsername.substring(atPos+config.getReplaceStringForEmailAt().length());
-				return tmpUsername;
-			}
-			return imUsername;
-		}
-		// in case this is not a valid imUsername
-		return "?";
-	}
-
-	/**
-	 * convert groupId (name) to be usable with multiple OLAT-instances
-	 * 
-	 * @param groupId (i.e: BusinessGroup-12345)
-	 * @return groupId with attached instance-id (i.e:
-	 *         BusinessGroup-12345-OLATinstanceID )
-	 */
-	public String getGroupnameForOlatInstance(String groupId) {
-		if (config.isMultipleInstances()) {
-			return groupId + GROUPNAME_INSTANCE_DELIMITER + instanceID;
-		}
-		else return groupId;
-	}
-	
-}
diff --git a/src/main/java/org/olat/instantMessaging/ImPreferences.java b/src/main/java/org/olat/instantMessaging/ImPreferences.java
index 4ff57b4ce373860a73c1354f8cf52d3195d1dac6..90c46cb4093e265a11c088d6db1029e666319abc 100644
--- a/src/main/java/org/olat/instantMessaging/ImPreferences.java
+++ b/src/main/java/org/olat/instantMessaging/ImPreferences.java
@@ -8,7 +8,7 @@
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
-* Unless required by applicable law or agreed to in writing,<br>
+* Unless required by applicable law or agreed to in writing,<br>nterface
 * software distributed under the License is distributed on an "AS IS" BASIS, <br>
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
 * See the License for the specific language governing permissions and <br>
@@ -23,113 +23,31 @@
 * under the Apache 2.0 license as the original file.  
 * <p>
 */ 
-
 package org.olat.instantMessaging;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.olat.core.id.Identity;
-import org.olat.instantMessaging.ui.ChangeIMSettingsController;
-import org.olat.properties.Property;
 
 /**
- * Description:<br />
- * The Im preferences object is used to store some settings about Instant Messaging.
- * The Im preferences are stored in the database as a user property
- * <P>
- * Initial Date:  08. august 2005 <br />
- *
- * @author Alexander Schneider
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-public class ImPreferences {
-	static final String USER_PROPERTY_KEY = "impreferences";
-	/**	 */
-	transient private final static String KEY_VISIBILITY = "VISIBILITY";
-	/**	 */
-	transient private final static String KEY_DISPLAYONLINETIME = "ONLINETIME";
-	/**	 */
-	transient private final static String KEY_DISPLAY_AWARENESS = "AWARENESS";
-	/**	 */
-	transient private final static String KEY_DEFAULTSTATUS = "DEFAULTSTATUS";
-	
-	// keys: prefs-keys; values: any Prefs-Objects
-	private Map<String, Object> prefstore = new HashMap<String, Object>();
-	// simply to indicate preferences version
-	private int version = 1;
-	
-	transient Identity owner;
-	//when read from the db the property object gets saved here for later reference
-	transient Property dbProperty = null;
-	/**
-	 * @param owner
-	 */
-	ImPreferences(Identity owner) {
-		this.owner = owner;
-	}
+public interface ImPreferences {
 	
 	/**
-	 * 
 	 * @return boolean true if this user is visible on the onlinelist to other users
 	 */
-	public boolean isVisibleToOthers(){
-    Boolean b = (Boolean) prefstore.get(ChangeIMSettingsController.class.getName() + "::"+KEY_VISIBILITY);
-    return b.booleanValue();
-	}
-	/**
-	 * @param isVisible
-	 */
-	public void setVisibleToOthers(boolean isVisible){
-		prefstore.put(ChangeIMSettingsController.class.getName()+"::"+ImPreferences.KEY_VISIBILITY, isVisible ? Boolean.TRUE : Boolean.FALSE);
-	}
+	public boolean isVisibleToOthers(); 
 	
 	/**
 	 * 
 	 * @return boolean isOnlineVisible
 	 */
-	public boolean isOnlineTimeVisible(){
-	    Boolean b = (Boolean) prefstore.get(ChangeIMSettingsController.class.getName() + "::"+KEY_DISPLAYONLINETIME);
-	    return b.booleanValue();
-	}
-	/**
-	 * 
-	 * @param isVisible
-	 */
-	public void setOnlineTimeVisible(boolean isVisible){
-		prefstore.put(ChangeIMSettingsController.class.getName()+"::"+KEY_DISPLAYONLINETIME,  isVisible ? Boolean.TRUE : Boolean.FALSE);
-	}
-	
-	/**
-	 * 
-	 * @return boolean isCourseNameVisible
-	 */
-	public boolean isAwarenessVisible(){
-	    Boolean b = (Boolean) prefstore.get(ChangeIMSettingsController.class.getName() + "::"+KEY_DISPLAY_AWARENESS);
-	    return b.booleanValue();
-	}
-	/**
-	 * 
-	 * @param isVisible
-	 */
-	public void setAwarenessVisible(boolean isVisible){
-		prefstore.put(ChangeIMSettingsController.class.getName()+"::"+KEY_DISPLAY_AWARENESS,isVisible ? Boolean.TRUE : Boolean.FALSE);
-	}
-	
+	public boolean isOnlineTimeVisible();
+
 	/**
 	 * 
 	 * @return the default status 
 	 */
-	public String getRosterDefaultStatus(){
-		return (String)prefstore.get(ChangeIMSettingsController.class.getName() + "::"+KEY_DEFAULTSTATUS);
-	}
-	
-	public void setRosterDefaultStatus(String defaultStatus){
-		prefstore.put(ChangeIMSettingsController.class.getName()+"::"+KEY_DEFAULTSTATUS, defaultStatus);
-	}
-
-	protected Property getDbProperty() {
-		return dbProperty;
-	}
-	
+	public String getRosterDefaultStatus();
 }
 
diff --git a/src/main/java/org/olat/instantMessaging/ImPrefsManager.java b/src/main/java/org/olat/instantMessaging/ImPrefsManager.java
deleted file mode 100644
index 3f2f2440d7c12399fc7dba90ae0e8872299c3ad4..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ImPrefsManager.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging;
-
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.id.Identity;
-import org.olat.core.logging.AssertException;
-import org.olat.core.manager.BasicManager;
-import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.core.util.coordinate.SyncerCallback;
-import org.olat.core.util.coordinate.SyncerExecutor;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.core.util.xml.XStreamHelper;
-import org.olat.properties.Property;
-import org.olat.properties.PropertyManager;
-
-/**
- * Description:<br />
- * load and set instant messaging preferences.
- * Manager is used when logging in or looping over all users for awareness information. The later case
- * need to be threadsave.
- * <P>
- * Initial Date: 11.08.2007 <br />
- * 
- * @author patrickb
- * @author guido
- */
-public class ImPrefsManager extends BasicManager {
-
-	private static ImPrefsManager INSTANCE;
-	private final static String LOCK_KEY = ImPrefsManager.class.toString();
-	
-	//fxdiff
-	private boolean awarenessVisible = false;
-
-	private ImPrefsManager() {
-		INSTANCE = this;
-	}
-
-	/**
-	 * singleton, return instance
-	 * 
-	 * @return
-	 */
-	public static ImPrefsManager getInstance() {
-		return INSTANCE;
-	}
-
-	//fxdiff
-	public boolean isAwarenessVisible() {
-		return awarenessVisible;
-	}
-
-	public void setAwarenessVisible(boolean awarenessVisible) {
-		this.awarenessVisible = awarenessVisible;
-	}
-
-	/**
-	 * create new property for user with default IM prefs, or load an existing IM
-	 * prefs from the property store.
-	 * 
-	 * @param identity
-	 * @return
-	 */
-	public ImPreferences loadOrCreatePropertiesFor(final Identity identity) {
-		//o_clusterOK by guido
-		ImPreferences imPrefs = findPropertiesFor(identity);
-		if(imPrefs != null) {
-			return imPrefs;
-		}
-
-		return CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(
-				OresHelper.createOLATResourceableInstanceWithoutCheck(LOCK_KEY, identity.getKey()), new SyncerCallback<ImPreferences>(){
-
-					public ImPreferences execute() {
-						//search x-stream serialization in properties table, create new if not
-						ImPreferences imPrefs = findPropertiesFor(identity);
-						if (imPrefs == null) {
-							// no imPrefs => create new default imPrefs
-							imPrefs = new ImPreferences(identity);
-							imPrefs.setVisibleToOthers(true);
-							imPrefs.setOnlineTimeVisible(false);
-							//fxdiff
-							imPrefs.setAwarenessVisible(isAwarenessVisible());
-							imPrefs.setRosterDefaultStatus(Presence.Mode.available.toString());
-							String props = XStreamHelper.toXML(imPrefs);
-							Property imProperty = PropertyManager.getInstance().createPropertyInstance(identity, null, null, null, ImPreferences.USER_PROPERTY_KEY, null, null, null, props);
-							PropertyManager.getInstance().saveProperty(imProperty);
-							imPrefs.dbProperty = imProperty;
-						} 
-						return imPrefs;
-					}
-					
-				});
-	}
-
-	/**
-	 * update / save changed IM Preferences. Preferences must already exist
-	 * @param identity
-	 * @param toUpdate
-	 */
-	public void updatePropertiesFor(final Identity identity, final ImPreferences toUpdate) {
-		//o_clusterOK by guido
-		CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(
-				OresHelper.createOLATResourceableInstanceWithoutCheck(LOCK_KEY, identity.getKey()), new SyncerExecutor(){
-
-					public void execute() {
-						PropertyManager pm = PropertyManager.getInstance();
-						// generate x-stream serialization of this object
-						String props = XStreamHelper.toXML(toUpdate);
-						Property imProperty = PropertyManager.getInstance().findProperty(identity, null, null, null, ImPreferences.USER_PROPERTY_KEY);
-						if (imProperty == null) { throw new AssertException("Try to update Im Prefs for (" + identity.getName() + ") but they do not exist!!"); }
-						imProperty.setTextValue(props);
-						pm.updateProperty(imProperty);
-					}
-					
-				});
-	
-	}
-	
-	/**
-	 * Delete must be synched too
-	 * 
-	 */
-	public void deleteProperties(final Identity identity, final ImPreferences prefs) {
-		//o_clusterOK by guido
-		CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(
-			OresHelper.createOLATResourceableInstanceWithoutCheck(LOCK_KEY, identity.getKey()), new SyncerExecutor(){
-				public void execute() {
-					PropertyManager.getInstance().deleteProperty(prefs.getDbProperty());
-				}
-			});
-	}
-
-	/**
-	 * 
-	 * @param identity
-	 * @return the imPreferences or null if not found
-	 */
-	private ImPreferences findPropertiesFor(Identity identity) {
-		Property imProperty = PropertyManager.getInstance().findProperty(identity, null, null, null, ImPreferences.USER_PROPERTY_KEY);
-		if (imProperty == null) {
-			return null;
-		} else {
-			ImPreferences imPrefs = (ImPreferences) XStreamHelper.fromXML(imProperty.getTextValue());
-			imPrefs.owner = identity; // reset transient value
-			imPrefs.dbProperty = imProperty;
-			return imPrefs;
-		}
-	}
-}
diff --git a/src/main/java/org/olat/instantMessaging/IMConfigSync.java b/src/main/java/org/olat/instantMessaging/InstantMessage.java
similarity index 79%
rename from src/main/java/org/olat/instantMessaging/IMConfigSync.java
rename to src/main/java/org/olat/instantMessaging/InstantMessage.java
index 4c716980153ecfdbf396b6b9da0c2462494b542f..c753de6f74efa84091c95d9860338424653e79c4 100644
--- a/src/main/java/org/olat/instantMessaging/IMConfigSync.java
+++ b/src/main/java/org/olat/instantMessaging/InstantMessage.java
@@ -19,12 +19,24 @@
  */
 package org.olat.instantMessaging;
 
+import java.util.Date;
+
+import org.olat.core.id.Identity;
+
 /**
  * 
+ * Initial date: 04.12.2012<br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
  */
-public enum IMConfigSync {
-	allGroups,
-	perConfig,
-	never
+public interface InstantMessage {
+	
+	public Long getKey();
+	
+	public Identity getFrom();
+	
+	public Date getCreationDate();
+	
+	public String getBody();
+
 }
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessaging.java b/src/main/java/org/olat/instantMessaging/InstantMessaging.java
deleted file mode 100644
index 9b0054238e7ecbfb422ec2ba0f1bb8a1904a86a5..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/InstantMessaging.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.gui.control.WindowControl;
-import org.olat.core.id.Identity;
-import org.olat.core.id.OLATResourceable;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-
-/**
- * Initial Date: 18.01.2005
- * @author guido<br />
- * Interface Instant Messaging
- * interface for public accessible functions used in the
- * framework outside the package <P>
- */
-public interface InstantMessaging {
-	/**
-	 * Category of events which trigger close/open chat from extern
-	 */
-	public static final OLATResourceable TOWER_EVENT_ORES = OresHelper.createOLATResourceableType("InstantMessagingTower");
-	
-	
-	/**
-	 * called when OLAT server is started and needs to sync the learinggroups with the IM server.
-	 */
-	public boolean synchronizeBusinessGroupsWithIMServer();
-
-	/**
-	 * This method should only be called once as it creates the main controller and the groupchat controller for a single user
-	 * @param ureq
-	 * @param wControl
-	 * @return a controller that represents that status changer and the buddy list
-	 */
-	public Controller createClientController(UserRequest ureq, WindowControl wControl);
-	
-	/**
-	 * @param ores
-	 * @return a String like BusinessGroup-123456
-	 */
-	public String createChatRoomString(OLATResourceable ores);
-	
-	/**
-	 * @param ores
-	 * @return a Jabber ID like grouid@conference.jabber.olat.uzh.ch
-	 */
-	public String createChatRoomJID(OLATResourceable ores);
-	
-	/**
-	 * get the controller for creating and managing groupChats
-	 * @return
-	 */
-	public GroupChatManagerController getGroupChatManagerController(UserRequest ureq);
-	
-	/**
-	 * Sync a group
-	 * @param groupId
-	 * @param groupname
-	 * @param addedUsers
-	 * @param removedUsers
-	 */
-	public boolean syncFriendsRoster(String groupId, String groupname, Collection<String> addedUsers, Collection<String> removedUsers);
-
-	/**
-	 * Delete roster group from instant messaging server
-	 * 
-	 * @param groupId
-	 */
-	public boolean deleteRosterGroup(String groupId);
-	
-	/**
-	 * rename roster group on instant messaging server
-	 * 
-	 * @param groupId
-	 * @param displayName
-	 */
-	public boolean renameRosterGroup(String groupId, String displayName);
-
-	/**
-	 * send the message to: all members of the VisibilityGroup where 'username' is
-	 * member.
-	 * 
-	 * @param username an OLAT unique username
-	 * @param message
-	 */
-	public void sendStatus(String username, String message);
-
-	/**
-	 * @param username
-	 * @return the instant messaging password (differs form the olat password)
-	 */
-	public String getIMPassword(String username);
-
-	/**
-	 * @return Map with client Objects (InstantMessagingClient)
-	 */
-	public Map<String, InstantMessagingClient> getClients();
-
-	/**
-	 * @return a Set with the users connected to the IM server
-	 */
-	public Set<String> getUsernamesFromConnectedUsers();
-
-	/**
-	 * enable the chat and groupchat possibilities
-	 * 
-	 * @param username
-	 */
-	public void enableChat(String username);
-
-	/**
-	 * disable the chat and groupchat possibilities
-	 * 
-	 * @param username
-	 * @param reason A reason why the user is not able to chat.
-	 */
-	public void disableChat(String username, String reason);
-
-	/**
-	 * @return number of connected instant messaging users
-	 */
-	public int countConnectedUsers();
-	
-	/**
-	 * 
-	 * @return a list with information for each user which is connected to the instant messaging server
-	 * either locally or clusterwide
-	 */
-	public List<ConnectedUsersListEntry> getAllConnectedUsers(Identity currentUser);
-	
-	/**
-	 * creates an account on the instant messaging server
-	 * @param username
-	 * @param password
-	 * @param firstname
-	 * @param lastname
-	 * @param email
-	 * @return true if successful
-	 */
-	public boolean createAccount(String username, String password, String fullname, String email);
-
-	/**
-	 * delete an account on the im server
-	 * @param username
-	 */
-	public boolean deleteAccount(String username);
-	
-	/**
-	 * with the client manager you have access to the IM client for sending messages/presence information
-	 * @return
-	 */
-	public ClientManager getClientManager();
-	
-	/**
-	 * provides access to the IM settings like admin user/password and servername...
-	 * @return
-	 */
-	public IMConfig getConfig();
-
-	/**
-	 * check whether accounts exists on IM server
-	 * @param username
-	 * @return
-	 */
-	public boolean hasAccount(String username);
-
-	/**
-	 * 
-	 * @param username
-	 * @return a jabber id like admin@jabber.olat.uzh.ch
-	 */
-	public String getUserJid(String username);
-
-	/**
-	 * 
-	 * @param from
-	 * @return only the username part from a jid
-	 */
-	public String getUsernameFromJid(String from);
-
-	/**
-	 * 
-	 * @param name
-	 * @return the username which is save for the IM server and may contains an instance id
-	 * if IM server is used in a multi domain setup
-	 */
-	public String getIMUsername(String name);
-	
-	/**
-	 * 
-	 * @param nameHelper
-	 */
-	public void setNameHelper(IMNameHelper nameHelper);
-
-	/**
-	 * @return the IMNameHelper for building multipleinstance-save user/group-names
-	 */
-	public IMNameHelper getNameHelper();
-	
-	/**
-	 * reset and reconnect the admin connection to the IM server. Upon failures the admin connection reconnects automatically
-	 * but not on resource conflicts and manual connection close.
-	 */
-	public void resetAdminConnection();
-	
-	/**
-	 * use rarely, as this is normally linked by spring!
-	 * @return AdminUserConnection the connection object
-	 */
-	public AdminUserConnection getAdminUserConnection();
-
-	/**
-	 * check wheter the server plugin is running and the correct version is
-	 * @return string with information about the plugin.
-	 */
-	public String checkServerPlugin();
-		
-	/**
-	 * can be used to synchronize all OLAT users with IM-server
-	 * will also recreate the buddy-roaster 
-	 * it tries to find former invalid users, double wrapped (account_instanceID_instanceID) and delete them
-	 */
-	public String synchronizeAllOLATUsers();
-	
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java b/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java
deleted file mode 100644
index 90b8818419fa5cebb7d5ec9d27244dafb9a6b6b0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingClient.java
+++ /dev/null
@@ -1,620 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-
-package org.olat.instantMessaging;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.RejectedExecutionException;
-
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.Roster;
-import org.jivesoftware.smack.RosterEntry;
-import org.jivesoftware.smack.RosterGroup;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketFilter;
-import org.jivesoftware.smack.filter.PacketTypeFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smack.packet.RosterPacket;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.commons.taskExecutor.TaskExecutorManager;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.LogDelegator;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
-import org.olat.instantMessaging.rosterandchat.ConnectToServerTask;
-
-/**
- * Description: <br />
- * Instant Messaging Client class based on the open source library SMACK
- * (www.igniterealtime.org). It provides connection to the IM-server, sends
- * presence packets, listens to messages and subscription requests. Methods that
- * mention the velocity rendering stuff are uses by template files that render
- * the html-response that for they dont have references in the java source code.
- * <P>
- * 
- * @version Initial Date: 14.10.2004
- * @author Guido Schnider
- */
-
-public class InstantMessagingClient extends LogDelegator {
-	// username is olat global unique username
-	private final String username;
-	// password is auto generated and only used for instant messaging
-	private final String password;
-	protected XMPPConnection connection = null;
-	private long connectionTimestamp = 0;
-	private Roster roster = null;
-	// null means 'not connected'
-	private Presence.Mode presenceMode = null;
-	private String statusMsg = " ";
-	// the jabber id like username@olat.ch
-	private final String jabberServer;
-	private final List<String> subscribedUsers = new ArrayList<String>();
-	protected static final String OLATBUDDIES = "OLAT-Buddies";
-	protected boolean collaborationDisabled = false;
-	private boolean isConnected;
-	private boolean showOfflineBuddies = false;
-	private boolean showGroupsInRoster = false;
-	private String recentStatusMode = Presence.Mode.available.toString();
-	private GroupChatManagerController groupChatManagerCtrl;
-	private String defaultRosterStatus;
-	
-	/**
-	 * @param username
-	 * @param password
-	 */
-	protected InstantMessagingClient(String username, String password) {
-		this.username = username;
-		this.password = password;
-		jabberServer = InstantMessagingModule.getAdapter().getConfig().getServername();
-		
-		Identity ident = BaseSecurityManager.getInstance().findIdentityByName(username);
-		ImPreferences prefs = ImPrefsManager.getInstance().loadOrCreatePropertiesFor(ident);
-		this.defaultRosterStatus = prefs.getRosterDefaultStatus();
-		reconnect(true);
-	}
-
-	/**
-	 * if connections fails upon server crash or other incidents, a new Thread
-	 * gets created and tries to reconnect after a waiting period
-	 * 
-	 * @param tryImmediately
-	 */
-	protected void reconnect(boolean tryImmediately) {
-		if (tryImmediately) {
-			doConnect();
-		}
-	}
-
-	/**
-	 * connect to the JabberServer
-	 */
-	protected void doConnect() {
-		// Debug enables a java window with all traffic between client
-		// and server.
-		XMPPConnection.DEBUG_ENABLED = false;
-		// check if currently used im client is already connected
-		// (reusing clients from previous session)
-		connection = new XMPPConnection(InstantMessagingModule.getConnectionConfiguration());
-
-		// connecting to server is done by thread pool
-		try {
-			logDebug("Connecting to server by thread pool with user: "+username);
-			TaskExecutorManager.getInstance().runTask(new ConnectToServerTask(this));
-			connectionTimestamp = System.currentTimeMillis();
-		} catch (IllegalStateException e) {
-			logWarn("Cannot connect to the IM server", e);
-		} catch (RejectedExecutionException e) {
-			logWarn("Cannot connect to the IM server", e);
-		}
-	}
-
-	/**
-	 * change jabber status. Example: sendPresencePacket(Presence.Type.AVAILABLE,
-	 * "at meeting...", 1, Presence.Mode.AWAY);
-	 * 
-	 * @param type
-	 * @param status
-	 * @param priority
-	 * @param mode
-	 */
-	public void sendPresence(Presence.Type type, String status, int priority, Presence.Mode mode) {
-		// get rid of "&" because they break xml packages!
-		if (status != null) status = status.replaceAll("&", "&amp;");
-		if (connection == null || !connection.isConnected()) return;
-		if (collaborationDisabled) return;
-
-		setStatus(mode);
-		Presence presence = new Presence(type);
-		if (status == null) {
-			if (mode == Presence.Mode.available) {
-				status = InstantMessagingConstants.PRESENCE_MODE_AVAILABLE;
-			} else if (mode == Presence.Mode.away) {
-				status = InstantMessagingConstants.PRESENCE_MODE_AWAY;
-			} else if (mode == Presence.Mode.chat) {
-				status = InstantMessagingConstants.PRESENCE_MODE_CHAT;
-			} else if (mode == Presence.Mode.dnd) {
-				status = InstantMessagingConstants.PRESENCE_MODE_DND;
-			} else if (mode == Presence.Mode.xa) {
-				status = InstantMessagingConstants.PRESENCE_MODE_XAWAY;
-			}
-			presence.setStatus(status);
-		} else {
-			presence.setStatus(status);
-		}
-		setStatusMsg(presence.getStatus());
-		//setting prio when type == unavailable causes error on IM server
-		if (presence.getType() == Presence.Type.available) presence.setPriority(priority);
-		if (mode != null) presence.setMode(mode);
-		try {
-			connection.sendPacket(presence);
-		} catch (RuntimeException ex) {
-			logWarn("Error while trying to send Instant Messaging packet for user: " + username + " .Errormessage: ", ex);
-		}
-	}
-
-	/**
-	 * send a presence packet "available" with a certain mode e.g. "away" to all
-	 * buddies
-	 * 
-	 * @param mode
-	 */
-	public void sendPresenceAvailable(Presence.Mode mode) {
-		sendPresence(Presence.Type.available, null, 0, mode);
-	}
-
-	/**
-	 * send a presence packet "unavailable" to all buddies
-	 */
-	public void sendPresenceUnavailable() {
-		sendPresence(Presence.Type.unavailable, null, 0, null);
-	}
-
-	/**
-	 * By adding this method (right now added to the constructor) we do have auto
-	 * subscription. All subscribe packets get automatically answered by a
-	 * subscribed packet.
-	 */
-	public void addSubscriptionListener() {
-		PacketFilter filter = new PacketTypeFilter(Presence.class);
-		connection.createPacketCollector(filter);
-		
-		PacketListener myListener = new InstantMessagingPresenceListener(connection, subscribedUsers);
-		connection.addPacketListener(myListener, filter);
-	}
-
-	/**
-	 * For unsubscription we have to create a packet like: <iq type="set"
-	 * id="ab7ba" > <query xmlns="jabber:iq:roster"> <item subscription="remove"
-	 * jid="guido@localhost" /> </query> </iq>
-	 * 
-	 * @param uname a valid username
-	 */
-	protected void removeSubscription(String uname) {
-		RosterPacket rosterPacket = new RosterPacket();
-		rosterPacket.setType(IQ.Type.SET);
-		RosterPacket.Item item = new RosterPacket.Item(uname + "@" + jabberServer, uname);
-		item.setItemType(RosterPacket.ItemType.remove);
-		rosterPacket.addRosterItem(item);
-		try {
-			connection.sendPacket(rosterPacket);
-		} catch (RuntimeException e) {
-			logWarn("Error while trying to send Instant Messaging packet.", e);
-		}
-	}
-
-	/**
-	 * @return Returns the jid.
-	 */
-	public String getJid() {
-		String jid = getChatUsername() + "@" + jabberServer;
-		return jid;
-	}
-
-	/**
-	 * @return Returns the status.
-	 */
-	protected String getStatus() {
-		if (presenceMode != null) { return presenceMode.toString(); }
-		return Presence.Type.unavailable.toString();
-	}
-	
-	public Presence.Mode getPresenceMode() {
-		return presenceMode;
-	}
-
-	/**
-	 * The status to set.
-	 * 
-	 * @param status
-	 */
-	protected void setStatus(Presence.Mode status) {
-		this.presenceMode = status;
-	}
-
-	/**
-	 * @return Returns the roster.
-	 */
-	public Roster getRoster() {
-		return roster;
-	}
-
-	/**
-	 * @param roster
-	 */
-	public void setRoster(Roster roster) {
-		this.roster = roster;
-	}
-
-	/**
-	 * Close the connection to the server
-	 */
-	public void closeConnection(boolean closeSynchronously) {
-		// Set isConnected to false first since connection.close triggers an
-		// XMPPConnListener.connectionClosed() event which would result in
-		// in a cyclic call of this close method.
-		isConnected = false;
-		//groupChatManagerCtrl = null;
-		Runnable connectionCloseRunnable = new CloseConnectionTask(connection);
-		if (closeSynchronously) {
-			connectionCloseRunnable.run();
-		} else {
-			TaskExecutorManager.getInstance().runTask(connectionCloseRunnable);
-		}
-	}
-
-	/**
-	 * Ask an other online user to subscribe to their roster
-	 * 
-	 * @param uname
-	 */
-	protected void subscribeToUser(String uname) {
-		Presence presence = new Presence(Presence.Type.subscribe);
-		presence.setTo(uname + "@" + jabberServer);
-		try {
-			connection.sendPacket(presence);
-		} catch (RuntimeException e) {
-			logWarn("Error while trying to send Instant Messaging packet.", e);
-		}
-
-	}
-
-	/**
-	 * Sends a subscription request to the username answers are handled by the
-	 * method
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessagingClient#addSubscriptionListener()
-	 * @param uname
-	 * @param groupname
-	 */
-	protected void subscribeToUser(String uname, String groupname) {
-		Presence presence = new Presence(Presence.Type.subscribe);
-		presence.setTo(uname + "@" + jabberServer);
-		try {
-			connection.sendPacket(presence);
-
-			RosterPacket rosterPacket = new RosterPacket();
-			rosterPacket.setType(IQ.Type.SET);
-			RosterPacket.Item item = new RosterPacket.Item(uname + "@" + jabberServer, uname);
-			item.addGroupName(groupname);
-			item.setItemType(RosterPacket.ItemType.both);
-			rosterPacket.addRosterItem(item);
-			connection.sendPacket(rosterPacket);
-		} catch (RuntimeException e) {
-			logWarn("Error while trying to send Instant Messaging packet.", e);
-		}
-	}
-
-	/**
-	 * @param xmppAddress jabber jid like guido@swissjabber.org
-	 * @return returns just the name "guido" without the rest
-	 */
-	protected static String parseName(String xmppAddress) {
-		if (xmppAddress == null) return null;
-		int atIndex = xmppAddress.indexOf("@");
-		if (atIndex <= 0) return "";
-		return xmppAddress.substring(0, atIndex);
-	}
-
-	/**
-	 * @param xmppAddressWithRessource like guido@swissjabber.org/office
-	 * @return treurns the jid without the ressource like guido@swissjabber.org
-	 */
-	protected String parseJid(String xmppAddressWithRessource) {
-		if (xmppAddressWithRessource == null) return null;
-		int atIndex = xmppAddressWithRessource.indexOf("/");
-		if (atIndex <= 0) {
-			// if no "/" is found we pass back the full adress
-			return xmppAddressWithRessource;
-		}
-		return xmppAddressWithRessource.substring(0, atIndex);
-	}
-
-	/**
-	 * When doing a test, collaboration by IM should be disabled
-	 * 
-	 * @param reason The reason why this user is not allowd to chat e.g. doing
-	 *          test By setting the third param to 10 all messages should be send
-	 *          to this client even if other clients are up. So we have full
-	 *          control over them.
-	 */
-	protected void disableCollaboration(String reason) {
-		recentStatusMode = this.getStatus();
-		sendPresence(Presence.Type.unavailable, reason, 10, Presence.Mode.dnd);
-		//trigger an event on the im controller, to update the status icon
-		InstantMessagingModule.getAdapter().getClientManager().sendPresenceEvent(Presence.Type.available, username);
-		collaborationDisabled = true;
-	}
-
-	/**
-	 * enable collaboration
-	 */
-	protected void enableCollaboration() {
-		collaborationDisabled = false;
-
-		if (recentStatusMode.equals(Presence.Type.unavailable.toString())) {
-			sendPresence(Presence.Type.unavailable, null, 0, null);
-			InstantMessagingModule.getAdapter().getClientManager().sendPresenceEvent(Presence.Type.unavailable, username);
-		}
-		else {
-			// Set back the priority to normal level.
-			sendPresence(Presence.Type.available, null, 0, Presence.Mode.valueOf(recentStatusMode));
-			//trigger an event on the im controller, to update the status icon
-			InstantMessagingModule.getAdapter().getClientManager().sendPresenceEvent(Presence.Type.available, username);
-		}
-	}
-	
-	public boolean isChatDisabled() {
-		return collaborationDisabled;
-	}
-	
-	public String getRecentPresenceStatusMode(){
-		return recentStatusMode;
-	}
-
-
-	/**
-	 * Used by Velocity renderer
-	 * 
-	 * @return a String representing the online buddies out of the number of total
-	 *         buddies
-	 */
-	public String buddyCountOnline() {
-			int onlineBuddyEntries = connection.getRoster().getEntryCount();
-			int allBuddies = onlineBuddyEntries;
-			for (Iterator<RosterEntry> l = connection.getRoster().getEntries().iterator(); l.hasNext();) {
-				RosterEntry entry = l.next();
-				Presence presence = connection.getRoster().getPresence(entry.getUser());
-				if (presence.getType() == Presence.Type.unavailable) onlineBuddyEntries--;
-			}
-			// final string looks like e.g. "(3/5)"
-			StringBuilder sb = new StringBuilder(10);
-			sb.append("(");
-			sb.append(onlineBuddyEntries);
-			sb.append("/");
-			sb.append(allBuddies);
-			sb.append(")");
-			return sb.toString();		
-	}
-
-	/**
-	 * Used by Velocity renderer
-	 * 
-	 * @param groupname
-	 * @return a String representing the online buddies out of the number of total
-	 *         buddies for a single group like (3/5)
-	 */
-	protected String buddyCountOnlineForGroup(String groupname) {
-			RosterGroup rosterGroup = connection.getRoster().getGroup(groupname);
-			int buddyEntries = rosterGroup.getEntryCount();
-			int allBuddies = buddyEntries;
-			for (Iterator<RosterEntry> I = rosterGroup.getEntries().iterator(); I.hasNext();) {
-				RosterEntry entry = I.next();
-				Presence presence = connection.getRoster().getPresence(entry.getUser());
-				if (presence.getType() == Presence.Type.unavailable) buddyEntries--;
-			}
-			// final string looks like e.g. "(3/5)"
-			StringBuilder sb = new StringBuilder(10);
-			sb.append("(");
-			sb.append(buddyEntries);
-			sb.append("/");
-			sb.append(allBuddies);
-			sb.append(")");
-			return sb.toString();		
-	}
-
-	/**
-	 * Used by Velocity renderer
-	 * 
-	 * @param jid
-	 * @return get a presence for a specific user
-	 */
-	protected String getUserPresence(String jid) {
-		Presence presence = connection.getRoster().getPresence(jid);
-		String imageName = "offline"; // default
-		// mode == null is equals available!!
-		if (presence.getMode() == null && presence.getType() == Presence.Type.available) imageName = Presence.Mode.available
-				.toString();
-		if (presence.getMode() != null) imageName = presence.getMode().toString();
-		return imageName;
-	}
-
-	/**
-	 * @return Returns the password.
-	 */
-	public String getPassword() {
-		return this.password;
-	}
-
-	/**
-	 * @return Returns the username.
-	 */
-	public String getUsername() {
-		return this.username;
-	}
-	
-	/**
-	 * 
-	 * @return
-	 */
-	public String getFullName() {
-		Identity identity = BaseSecurityManager.getInstance().findIdentityByName(username);
-		return identity != null ? identity.getUser().getProperty(UserConstants.FIRSTNAME, null) + " " + identity.getUser().getProperty(UserConstants.LASTNAME, null) : "" ;
-	}
-	
-	/**
-	 * 
-	 * @return
-	 */
-	public String getEmail() {
-		Identity identity = BaseSecurityManager.getInstance().findIdentityByName(username);
-		return identity != null ? identity.getUser().getProperty(UserConstants.EMAIL, null): "" ;
-	}
-	
-	/**
-	 * in case multiple olat instances use one si,
-					InstantMessagingClient.class);ngle jabber server, username needs to be distinguished by instance id
-	 * @return returns the chat-username used on jabber server
-	 */
-	public String getChatUsername() {
-		return InstantMessagingModule.getAdapter().getIMUsername(username);
-	}
-	
-	/**
-	 * @return Returns true when user is connected to server
-	 */
-	public boolean isConnected() {
-		return isConnected;
-	}
-
-	public void setIsConnected(boolean isConnected) {
-		this.isConnected = isConnected;
-	}
-
-	/**
-	 * TODO:gs used by velocity, change connected client list to client helper
-	 * object
-	 * 
-	 * @return Returns the statusMsg.
-	 */
-	protected String getStatusMsg() {
-		return statusMsg;
-	}
-
-	/**
-	 * Free text to add more details to a specific status like status "away" and
-	 * msg "eating lunch until 2pm..."
-	 * 
-	 * @param statusMsg The statusMsg to set.
-	 */
-	protected void setStatusMsg(String statusMsg) {
-		if (statusMsg == null) statusMsg = "";
-		this.statusMsg = statusMsg;
-	}
-
-	/**
-	 * @return Returns the showOfflineBuddies.
-	 */
-	protected boolean getShowOfflineBuddies() {
-		return showOfflineBuddies;
-	}
-
-	/**
-	 * @param showOfflineBuddies The showOfflineBuddies to set.
-	 */
-	protected void setShowOfflineBuddies(boolean showOfflineBuddies) {
-		this.showOfflineBuddies = showOfflineBuddies;
-	}
-
-	/**
-	 * TODO:gs used by velocity, change connected client list to client helper
-	 * object
-	 * 
-	 * @return minutes the user is online
-	 */
-	protected String getOnlineTime() {
-		long diff = System.currentTimeMillis() - connectionTimestamp;
-		return new Integer((int) diff / 1000 / 60).toString();
-	}
-
-	/**
-	 * @return Returns the showGroupsInRoster.
-	 */
-	protected boolean isShowGroupsInRoster() {
-		return showGroupsInRoster;
-	}
-
-	/**
-	 * @param showGroupsInRoster The showGroupsInRoster to set.
-	 */
-	protected void setShowGroupsInRoster(boolean showGroupsInRoster) {
-		this.showGroupsInRoster = showGroupsInRoster;
-	}
-
-	public XMPPConnection getConnection() {
-		return connection;
-	}
-
-	public String getServerName() {
-		return jabberServer;
-	}
-
-	public void sendPresenceAutoStatusIdle() {
-		recentStatusMode = getPresenceMode().toString();
-		//TODO:gs:a translate
-		sendPresence(Presence.Type.available, "auto away", 0, Presence.Mode.away);
-		
-	}
-
-	/**
-	 * set the per user instance of the group chat manager
-	 * @param groupChatManagerController
-	 */
-	public void setGroupChatManager(GroupChatManagerController groupChatManagerCtrl) {
-		this.groupChatManagerCtrl = groupChatManagerCtrl;
-		
-	}
-	
-	/**
-	 * access the per user instance of the group chat manager
-	 * @return
-	 */
-	public GroupChatManagerController getGroupChatManagerController() {
-		return this.groupChatManagerCtrl;
-	}
-
-	/**
-	 * 
-	 * @return status from IM preferences or default wich is "available"
-	 */
-	public String getDefaultRosterStatus() {
-		return defaultRosterStatus;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingConstants.java b/src/main/java/org/olat/instantMessaging/InstantMessagingConstants.java
deleted file mode 100644
index 19e2a217655012d96d5f2286d9eb3e71763c224e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingConstants.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging;
-
-/**
- * Instant Messaging constants
- * 
- * <P>
- * Initial Date:  12.09.2005 <br />
- * @author guido
- */
-public abstract class InstantMessagingConstants {
-
-	public static final String PRESENCE_MODE_AVAILABLE = "online";
-	public static final String PRESENCE_MODE_AWAY = "away";
-	public static final String PRESENCE_MODE_CHAT = "like to chat";
-	public static final String PRESENCE_MODE_DND = "do not disturb";
-	public static final String PRESENCE_MODE_XAWAY = "extended away";
-	public static final String PRESENCE_MODE_UNAVAILABLE = "unavailable";
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingEvent.java b/src/main/java/org/olat/instantMessaging/InstantMessagingEvent.java
index 1805de6ffc6f217787378b12ea12a827fa29e80c..af881cca02adf510459dfcca5cd9c8471a6f350a 100644
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingEvent.java
+++ b/src/main/java/org/olat/instantMessaging/InstantMessagingEvent.java
@@ -1,43 +1,74 @@
 /**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
 package org.olat.instantMessaging;
 
-import org.jivesoftware.smack.packet.Packet;
-import org.olat.core.gui.control.Event;
+import org.olat.core.util.event.MultiUserEvent;
 
-public class InstantMessagingEvent extends Event {
+/**
+ * 
+ * Initial date: 07.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class InstantMessagingEvent extends MultiUserEvent {
 
-	private Packet packet;
+	private static final long serialVersionUID = 4656092473467740418L;
 
-	public InstantMessagingEvent(Packet packet, String command) {
+	private Long messageId;
+	private Long fromId;
+	private String name;
+	private boolean anonym;
+	
+	public InstantMessagingEvent(String command) {
 		super(command);
-		this.packet = packet;
 	}
 
-	public Packet getPacket() {
-		return packet;
+	public Long getMessageId() {
+		return messageId;
+	}
+
+	public void setMessageId(Long messageId) {
+		this.messageId = messageId;
+	}
+
+	public Long getFromId() {
+		return fromId;
+	}
+
+	public void setFromId(Long fromId) {
+		this.fromId = fromId;
 	}
 
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public boolean isAnonym() {
+		return anonym;
+	}
+
+	public void setAnonym(boolean anonym) {
+		this.anonym = anonym;
+	}
 }
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingJob.java b/src/main/java/org/olat/instantMessaging/InstantMessagingJob.java
deleted file mode 100644
index ddc9ec66066476acd1bc81012bb933f696b691e7..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingJob.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-package org.olat.instantMessaging;
-
-import static org.olat.instantMessaging.InstantMessagingModule.CONFIG_SYNCED_LEARNING_GROUPS;
-import static org.olat.instantMessaging.InstantMessagingModule.createPropertyName;
-
-import java.util.List;
-
-import org.olat.core.commons.persistence.DB;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.commons.scheduler.JobWithDB;
-import org.olat.properties.Property;
-import org.olat.properties.PropertyManager;
-import org.quartz.JobExecutionContext;
-
-/**
- * 
- * Description:<br>
- * TODO: srosse Class Description for InstantMessagingJob
- * 
- * <P>
- * Initial Date:  14 juil. 2011 <br>
- * @author srosse, stephane.rosse@frentix.com, http://www.fentix.com
- */
-
-//fxdiff: FXOLAT-219 decrease the load for synching groups
-public class InstantMessagingJob extends JobWithDB {
-
-	@Override
-	public void executeWithDB(JobExecutionContext job) {
-		if(!InstantMessagingModule.isEnabled()) return;
-		
-		final InstantMessaging im = InstantMessagingModule.getAdapter();
-		final PropertyManager propertyManager = PropertyManager.getInstance();
-		final DB database = DBFactory.getInstance();
-
-		boolean success = false;
-		try {
-			List<Property> props = propertyManager.findProperties(null, null, null, "classConfig", createPropertyName(this.getClass(), CONFIG_SYNCED_LEARNING_GROUPS));
-			if (props.size() == 0 || !Boolean.getBoolean(props.get(0).getStringValue())) {
-				if (InstantMessagingModule.isSyncGroups()) {
-					long start = System.currentTimeMillis();
-					log.info("Start synching learning groups with IM");
-					boolean result = im.synchronizeBusinessGroupsWithIMServer();
-					Property property = propertyManager.createPropertyInstance(null, null, null, "classConfig", createPropertyName(this.getClass(), CONFIG_SYNCED_LEARNING_GROUPS), null,  null, Boolean.toString(result), null);
-					propertyManager.saveProperty(property);
-					log.info("Synching learning groups with IM terminated in " + (System.currentTimeMillis() - start) + " (ms)");
-				}
-			}
-			database.commitAndCloseSession();
-			success = true;
-		} finally {
-			if (!success) {
-				database.rollbackAndCloseSession();
-			}
-		}
-	}
-}
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java b/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
index f6a06d04c5a32dd96db9f5b88bb49e435370c392..c1d545424d19e29be429b5a06cb6eff0c70eba7b 100644
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
+++ b/src/main/java/org/olat/instantMessaging/InstantMessagingModule.java
@@ -26,24 +26,11 @@
 
 package org.olat.instantMessaging;
 
-import javax.net.SocketFactory;
-
-import org.jivesoftware.smack.ConnectionConfiguration;
-import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode;
-import org.jivesoftware.smack.XMPPConnection;
-import org.olat.admin.user.delete.service.UserDeletionManager;
-import org.olat.core.commons.persistence.DB;
-import org.olat.core.configuration.Destroyable;
-import org.olat.core.configuration.Initializable;
-import org.olat.core.gui.control.Event;
-import org.olat.core.id.Identity;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.core.util.event.FrameworkStartupEventChannel;
+import org.olat.core.configuration.AbstractOLATModule;
+import org.olat.core.configuration.ConfigOnOff;
+import org.olat.core.configuration.PersistedProperties;
+import org.olat.core.util.StringHelper;
 import org.olat.core.util.event.GenericEventListener;
-import org.olat.properties.PropertyManager;
-import org.olat.user.UserDataDeletable;
-import org.springframework.beans.factory.annotation.Autowired;
 
 
 /**
@@ -55,168 +42,118 @@ import org.springframework.beans.factory.annotation.Autowired;
  * 
  * @author Guido Schnider
  */
-public class InstantMessagingModule implements Initializable, Destroyable, UserDataDeletable, GenericEventListener {
-
-	private static ConnectionConfiguration connConfig;
-	@Autowired
-	private static XMPPConnection adminConnection;
-	//FIXME: used for legacy access
-	private static InstantMessaging instantMessaingStatic;
-	private static boolean enabled = false;
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	public static final String CONFIG_SYNCED_LEARNING_GROUPS = "syncedlearninggroups";
-	private static final OLog log = Tracing.createLoggerFor(InstantMessagingModule.class);
-	@Autowired
-	private PropertyManager propertyManager;
-	@Autowired
-	private DB database;
-	private InstantMessaging instantMessaging;
-	
-	
-	/**
-	 * [used by spring]
-	 */
-	private InstantMessagingModule() {
-		super();
-		FrameworkStartupEventChannel.registerForStartupEvent(this);
-	}
-	
-	/**
-	 * 
-	 * @param instantMessaging
-	 */
-	@Autowired(required=true)
-	public void setInstantMessaing(InstantMessaging instantMessaging) {
-		this.instantMessaging = instantMessaging;
-		instantMessaingStatic = instantMessaging;
-	}
-	
-	/**
-	 * [spring]
-	 * @param userDeletionManager
-	 */
-	@Autowired(required=true)
-	public void setUserDeletionManager(UserDeletionManager userDeletionManager) {
-		userDeletionManager.registerDeletableUserData(this);
-	}
-	
-	/**
-	 * [spring]
-	 * @param config
-	 */
-	@Autowired(required=true)
-	public void setIMConfig(IMConfig config) {
-		enabled = config.isEnabled();
-	}
+public class InstantMessagingModule extends AbstractOLATModule implements ConfigOnOff, GenericEventListener {
+
+	private static final String CONFIG_ENABLED = "im.enabled";
+	private static final String CONFIG_GROUP_ENABLED = "im.enabled.group";
+	private static final String CONFIG_COURSE_ENABLED = "im.enabled.course";
+	private static final String CONFIG_PRIVATE_ENABLED = "im.enabled.private";
+	private static final String CONFIG_ONLINEUSERS_ENABLED = "im.enabled.onlineusers";
+	private static final String CONFIG_GROUPPEERS_ENABLED = "im.enabled.grouppeers";
+
+	private boolean enabled = false;
+	private boolean groupEnabled = false;
+	private boolean courseEnabled = false;
+	private boolean privateEnabled = false;
+	private boolean onlineUsersEnabled = false;
+	private boolean groupPeersEnabled = false;
 
 	public void init() {
-		//synched moved to the job 
+		String enabledObj = getStringPropertyValue(CONFIG_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			enabled = "true".equals(enabledObj);
+		}
+		enabledObj = getStringPropertyValue(CONFIG_GROUP_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			groupEnabled = "true".equals(enabledObj);
+		}
+		enabledObj = getStringPropertyValue(CONFIG_COURSE_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			courseEnabled = "true".equals(enabledObj);
+		}
+		enabledObj = getStringPropertyValue(CONFIG_PRIVATE_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			privateEnabled = "true".equals(enabledObj);
+		}
+		enabledObj = getStringPropertyValue(CONFIG_ONLINEUSERS_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			onlineUsersEnabled = "true".equals(enabledObj);
+		}
+		enabledObj = getStringPropertyValue(CONFIG_GROUPPEERS_ENABLED, true);
+		if(StringHelper.containsNonWhitespace(enabledObj)) {
+			groupPeersEnabled = "true".equals(enabledObj);
+		}
 	}
-	
-	/**
-   * Internal helper to create a property name for a class configuration property
-   * @param clazz
-   * @param configurationName
-   * @return String
-   */
 
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-  public static String createPropertyName(Class<?> clazz, String configurationName) {
-  	return clazz.getName() + "::" + configurationName;
-  }
-
-	/**
-	 * @see org.olat.core.configuration.OLATModule#destroy()
-	 */
-	public void destroy() {
-	 if (adminConnection != null) {
-		 adminConnection.disconnect();
-	 }
+	@Override
+	protected void initDefaultProperties() {
+		enabled = getBooleanConfigParameter(CONFIG_ENABLED, true);
+		groupEnabled = getBooleanConfigParameter(CONFIG_GROUP_ENABLED, true);
+		courseEnabled = getBooleanConfigParameter(CONFIG_COURSE_ENABLED, true);
+		privateEnabled = getBooleanConfigParameter(CONFIG_PRIVATE_ENABLED, true);
+		onlineUsersEnabled = getBooleanConfigParameter(CONFIG_ONLINEUSERS_ENABLED, true);
+		groupPeersEnabled = getBooleanConfigParameter(CONFIG_GROUPPEERS_ENABLED, true);
 	}
 
-
-	/**
-	 * @return the adapter instance
-	 */
-	public static InstantMessaging getAdapter() {
-		return instantMessaingStatic;
+	@Override
+	protected void initFromChangedProperties() {
+		init();
+	}
+	
+	@Override
+	public void setPersistedProperties(PersistedProperties persistedProperties) {
+		this.moduleConfigProperties = persistedProperties;
 	}
 
 	/**
 	 * @return Returns the enabled.
 	 */
-	public static boolean isEnabled() {
+	@Override
+	public boolean isEnabled() {
 		return enabled;
 	}
 
+	public void setEnabled(boolean enabled) {
+		setStringProperty(CONFIG_ENABLED, Boolean.toString(enabled), true);
+	}
 
-	/**
-	 * @return a reused connection configuration for connecting to the im server
-	 */
-	protected static ConnectionConfiguration getConnectionConfiguration() {
-		if (connConfig == null) {
-			// 5222 is the default unsecured jabber server port
-			connConfig = new ConnectionConfiguration(instantMessaingStatic.getConfig().getServername(), 5222);
-			connConfig.setNotMatchingDomainCheckEnabled(false);
-			connConfig.setSASLAuthenticationEnabled(false);
-			connConfig.setReconnectionAllowed(false);
-			//disable the SSL connection to save a lot of memory
-			connConfig.setSecurityMode(SecurityMode.disabled);
-			//make sure that smackx doesn't use the SSLSocketFactory
-			connConfig.setSocketFactory(SocketFactory.getDefault());
-		}
-		return connConfig;
+	public boolean isGroupEnabled() {
+		return groupEnabled;
 	}
 
-	/**
-	 * 
-	 * @see org.olat.user.UserDataDeletable#deleteUserData(org.olat.core.id.Identity)
-	 */
-	public void deleteUserData(Identity identity, String newDeletedUserName) {
-		if (instantMessaging.getConfig().isEnabled()) {
-			instantMessaging.deleteAccount(identity.getName());
-			log.debug("Deleted IM account for identity=" + identity);
-		}
+	public void setGroupEnabled(boolean enabled) {
+		setStringProperty(CONFIG_GROUP_ENABLED, Boolean.toString(enabled), true);
 	}
 
-	/**
-	 * @return Returns the iDLE_POLLTIME.
-	 */
-	public static int getIDLE_POLLTIME() {
-		return instantMessaingStatic.getConfig().getIdlePolltime();
+	public boolean isCourseEnabled() {
+		return courseEnabled;
 	}
 
-	/**
-	 * @param idle_polltime The iDLE_POLLTIME to set.
-	 */
-	public static void setIDLE_POLLTIME(int idle_polltime) {
-		instantMessaingStatic.getConfig().setIdlePolltime(idle_polltime);
+	public void setCourseEnabled(boolean enabled) {
+		setStringProperty(CONFIG_COURSE_ENABLED, Boolean.toString(enabled), true);
 	}
 
-	/**
-	 * @return Returns the cHAT_POLLTIME.
-	 */
-	public static int getCHAT_POLLTIME() {
-		return instantMessaingStatic.getConfig().getChatPolltime();
+	public boolean isPrivateEnabled() {
+		return privateEnabled;
 	}
 
-	/**
-	 * @param chat_polltime The cHAT_POLLTIME to set.
-	 */
-	public static void setCHAT_POLLTIME(int chat_polltime) {
-		instantMessaingStatic.getConfig().setChatPolltime(chat_polltime);
+	public void setPrivateEnabled(boolean enabled) {
+		setStringProperty(CONFIG_PRIVATE_ENABLED, Boolean.toString(enabled), true);
 	}
 
+	public boolean isOnlineUsersEnabled() {
+		return onlineUsersEnabled;
+	}
 
-	public static boolean isSyncGroups() {
-		return instantMessaingStatic.getConfig().isEnabled()
-				&& (IMConfigSync.allGroups.equals(instantMessaingStatic.getConfig().getSyncGroupsConfig())
-						|| IMConfigSync.perConfig.equals(instantMessaingStatic.getConfig().getSyncGroupsConfig()));
+	public void setOnlineUsersEnabled(boolean enabled) {
+		setStringProperty(CONFIG_ONLINEUSERS_ENABLED, Boolean.toString(enabled), true);
 	}
 
-	@Override
-	public void event(Event event) {
-		// synchronistion of learning groups needs the whole olat course stuff loaded
-		//fxdiff: FXOLAT-219 decrease the load for synching groups
+	public boolean isGroupPeersEnabled() {
+		return groupPeersEnabled;
+	}
+
+	public void setGroupPeersEnabled(boolean enabled) {
+		setStringProperty(CONFIG_GROUPPEERS_ENABLED, Boolean.toString(enabled), true);
 	}
 }
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingPresenceListener.java b/src/main/java/org/olat/instantMessaging/InstantMessagingPresenceListener.java
deleted file mode 100644
index 54f70b2767f6ec0b81c223c39f45694c2efe8aa0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/InstantMessagingPresenceListener.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-package org.olat.instantMessaging;
-
-import java.util.List;
-
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.packet.Packet;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smack.packet.RosterPacket;
-
-/**
- * 
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-class InstantMessagingPresenceListener implements PacketListener {
-	
-	private XMPPConnection connection;
-	private List<String> subscribedUsers;
-	
-	protected InstantMessagingPresenceListener(XMPPConnection connection, List<String> subscribedUsers) {
-		this.connection = connection;
-		this.subscribedUsers = subscribedUsers;
-	}
-	
-	
-	public void processPacket(Packet packet) {
-		Presence presence = (Presence) packet;
-		if (presence.getType() == Presence.Type.subscribe) {
-			Presence response = new Presence(Presence.Type.subscribe);
-			response.setTo(presence.getFrom());
-			// System.out.println("subscribed to: "+presence.getFrom());
-			connection.sendPacket(response);
-			// ask also for subscription
-			if (!subscribedUsers.contains(presence.getFrom())) {
-				response = null;
-				response = new Presence(Presence.Type.subscribe);
-				response.setTo(presence.getFrom());
-				connection.sendPacket(response);
-				// update the roster with the new user
-				RosterPacket rosterPacket = new RosterPacket();
-				rosterPacket.setType(IQ.Type.SET);
-				RosterPacket.Item item = new RosterPacket.Item(presence.getFrom(), InstantMessagingClient.parseName(presence.getFrom()));
-				item.addGroupName(InstantMessagingClient.OLATBUDDIES);
-				item.setItemType(RosterPacket.ItemType.both);
-				// item.setItemStatus(RosterPacket.ItemStatus.fromString());
-				rosterPacket.addRosterItem(item);
-				connection.sendPacket(rosterPacket);
-			}
-		}
-		if (presence.getType() == Presence.Type.subscribe) {
-			subscribedUsers.add(presence.getFrom());
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/InstantMessagingService.java b/src/main/java/org/olat/instantMessaging/InstantMessagingService.java
new file mode 100644
index 0000000000000000000000000000000000000000..bf78f9487a0388906d12b431a2c5726b0a59383a
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/InstantMessagingService.java
@@ -0,0 +1,83 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging;
+
+import java.util.List;
+
+import org.olat.core.id.Identity;
+import org.olat.core.id.OLATResourceable;
+import org.olat.core.util.event.GenericEventListener;
+import org.olat.core.util.resource.OresHelper;
+import org.olat.course.nodes.iq.AssessmentEvent;
+import org.olat.instantMessaging.model.Buddy;
+
+/**
+ * 
+ * Initial date: 04.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public interface InstantMessagingService {
+
+	public static final String PRESENCE_MODE_AVAILABLE = "online";
+	public static final String PRESENCE_MODE_DND = "do not disturb";
+	public static final String PRESENCE_MODE_UNAVAILABLE = "unavailable";
+	
+	public static final OLATResourceable TOWER_EVENT_ORES = OresHelper.createOLATResourceableType("InstantMessagingTower");
+	public static final OLATResourceable ASSESSMENT_EVENT_ORES = OresHelper.createOLATResourceableType(AssessmentEvent.class);
+	
+	/**
+	 * 
+	 * @param me
+	 * @return
+	 */
+	public List<Buddy> getBuddies(Identity me);
+	
+	public Buddy getBuddyById(Long identityKey);
+	
+	public List<Buddy> getBuddiesListenTo(OLATResourceable chatResource);
+	
+	public void listenChat(Identity identity, OLATResourceable chatResource,  GenericEventListener listener);
+	
+	public void unlistenChat(OLATResourceable chatResource, GenericEventListener listener);
+	
+	
+	public InstantMessage getMessageById(Long messageId);
+	
+	public InstantMessage createMessage(Identity from, String body);
+	
+	public InstantMessage sendMessage(Identity from, String body, OLATResourceable to);
+	
+	
+	public String getStatus(Long identityKey);
+	
+	public ImPreferences getImPreferences(Identity identity);
+	
+	public void updateImPreferences(Identity identity, boolean visible, boolean onlineTime);
+	
+	public void updateStatus(Identity identity, String status);
+
+	public void enableChat(Identity identity);
+	
+	public void disableChat(Identity identity);
+	
+	public int getNumOfconnectedUsers();
+
+}
diff --git a/src/main/java/org/olat/instantMessaging/OpenInstantMessageEvent.java b/src/main/java/org/olat/instantMessaging/OpenInstantMessageEvent.java
index 10d223e3dbe404d8c632adabb02730d82e9d9a9a..f1ec1db368481ecc574d0f339f550fa89cdb7901 100644
--- a/src/main/java/org/olat/instantMessaging/OpenInstantMessageEvent.java
+++ b/src/main/java/org/olat/instantMessaging/OpenInstantMessageEvent.java
@@ -20,7 +20,10 @@
 package org.olat.instantMessaging;
 
 import org.olat.core.gui.UserRequest;
+import org.olat.core.id.OLATResourceable;
 import org.olat.core.util.event.MultiUserEvent;
+import org.olat.instantMessaging.model.Buddy;
+import org.olat.instantMessaging.ui.RosterEntry;
 
 /**
  * 
@@ -36,20 +39,38 @@ public class OpenInstantMessageEvent extends MultiUserEvent {
 
 	private static final long serialVersionUID = -7767366726634855700L;
 	
-	private final String jabberId;
 	private final UserRequest ureq;
+	private Buddy buddy;
+	private OLATResourceable ores;
 
-	public OpenInstantMessageEvent(String jabberId, UserRequest ureq) {
+	public OpenInstantMessageEvent(UserRequest ureq) {
 		super("openim");
-		this.jabberId = jabberId;
 		this.ureq = ureq;
 	}
+	
+	public OpenInstantMessageEvent(UserRequest ureq, Buddy buddy) {
+		this(ureq);
+		this.buddy = buddy;
+	}
+	
+	public OpenInstantMessageEvent(UserRequest ureq, RosterEntry entry) {
+		this(ureq, new Buddy(entry.getIdentityKey(), entry.getName()));
+	}
+	
+	public OpenInstantMessageEvent(UserRequest ureq, OLATResourceable ores) {
+		this(ureq);
+		this.ores = ores;
+	}
 
-	public String getJabberId() {
-		return jabberId;
+	public Buddy getBuddy() {
+		return buddy;
 	}
 
-	public UserRequest getUreq() {
+	public UserRequest getUserRequest() {
 		return ureq;
 	}
+
+	public OLATResourceable getOres() {
+		return ores;
+	}
 }
diff --git a/src/main/java/org/olat/instantMessaging/SmackInstantMessagingImpl.java b/src/main/java/org/olat/instantMessaging/SmackInstantMessagingImpl.java
deleted file mode 100644
index a1112b08bbc8a425f08190a868294975dcc736c6..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/SmackInstantMessagingImpl.java
+++ /dev/null
@@ -1,659 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.lang.RandomStringUtils;
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.basesecurity.Authentication;
-import org.olat.basesecurity.BaseSecurity;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.basesecurity.IdentityShort;
-import org.olat.basesecurity.SecurityGroup;
-import org.olat.collaboration.CollaborationTools;
-import org.olat.collaboration.CollaborationToolsFactory;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.control.Controller;
-import org.olat.core.gui.control.WindowControl;
-import org.olat.core.gui.control.creator.AutoCreator;
-import org.olat.core.gui.control.creator.ControllerCreator;
-import org.olat.core.id.Identity;
-import org.olat.core.id.OLATResourceable;
-import org.olat.core.id.Roles;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.LogDelegator;
-import org.olat.group.BusinessGroup;
-import org.olat.group.BusinessGroupService;
-import org.olat.group.model.SearchBusinessGroupParams;
-import org.olat.instantMessaging.groupchat.GroupChatManagerController;
-import org.olat.instantMessaging.rosterandchat.InstantMessagingMainController;
-import org.olat.instantMessaging.syncservice.InstantMessagingGroupSynchronisation;
-import org.olat.instantMessaging.syncservice.InstantMessagingServerPluginVersion;
-import org.olat.instantMessaging.syncservice.InstantMessagingSessionCount;
-import org.olat.instantMessaging.syncservice.InstantMessagingSessionItems;
-import org.olat.instantMessaging.syncservice.RemoteAccountCreation;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-
-/**
- * 
- * Implementation of the InstantMessaging Interface based on
- * the SMACK instant messaging library from jivesoftware.org
- * 
- * <P>
- * Initial Date: 18.01.2005 <br />
- * @author guido
- */
-public class SmackInstantMessagingImpl extends LogDelegator implements InstantMessaging {
-
-	private IMConfig config;
-	private InstantMessagingGroupSynchronisation buddyGroupService;
-	private InstantMessagingSessionCount sessionCountService;
-	private InstantMessagingSessionItems sessionItemsService;
-	private RemoteAccountCreation accountService;
-	ClientManager clientManager;
-	private IMNameHelper nameHelper;
-	private AdminUserConnection adminConnecion;
-	private String clientVersion;
-	private InstantMessagingServerPluginVersion pluginVersion;
-	private AutoCreator actionControllerCreator;
-	private volatile int sessionCount;
-	
-	private BusinessGroupService businessGroupService;
-	
-	/**
-	 * [spring]
-	 */
-	private SmackInstantMessagingImpl() {
-		//
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#createClientController(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.control.WindowControl)
-	 */
-	public Controller createClientController(UserRequest ureq, WindowControl wControl) {
-		InstantMessagingClient client = clientManager.getInstantMessagingClient(ureq.getIdentity().getName());
-		//there are two versions of the controller, either join the course chat automatically or upon request
-		client.setGroupChatManager((GroupChatManagerController) actionControllerCreator.createController(ureq, wControl));
-		return new InstantMessagingMainController(ureq, wControl);
-	}
-	
-	/**
-	 * [used by spring]
-	 */
-	public void setActionController(ControllerCreator actionControllerCreator) {
-		this.actionControllerCreator = (AutoCreator) actionControllerCreator;
-	}
-	
-	/**
-	 * [used by Spring]
-	 * @param businessGroupService
-	 */
-	public void setBusinessGroupService(BusinessGroupService businessGroupService) {
-		this.businessGroupService = businessGroupService;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#getGroupChatManagerController()
-	 */
-	public GroupChatManagerController getGroupChatManagerController(UserRequest ureq) {
-		InstantMessagingClient client = clientManager.getInstantMessagingClient(ureq.getIdentity().getName());
-		if(client == null) {
-			return null;
-		}
-		return client.getGroupChatManagerController();
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#addUserToFriendsRoster(java.lang.String,
-	 *      java.lang.String, java.lang.String, java.lang.String)
-	 *  o_clusterOK by:fj - nodes can access the IM server concurrently but only one thread should add a users to a group at
-	 *  the same time.
-	 *  Sync over whole clazz, not time critical as accessed by backgrounded threads
-	 */
-	//TODO:gs does this need to be synchronized?
-	public synchronized boolean addUserToFriendsRoster(String groupOwnerUsername, String groupId, String groupname, String addedUsername) {
-		// we have to make sure the user has an account on the instant messaging
-		// server
-		// by calling this it gets created if not yet exists.
-		String imUsername = nameHelper.getIMUsernameByOlatUsername(addedUsername);
-		groupOwnerUsername = nameHelper.getIMUsernameByOlatUsername(groupOwnerUsername);
-		
-		boolean hasAccount = accountService.hasAccount(imUsername);
-		if (!hasAccount) clientManager.getInstantMessagingCredentialsForUser(addedUsername);
-		// we do not check whether a group already exists, we create it each time
-		
-		buddyGroupService.createSharedGroup(groupId, groupname);
-		logDebug("Adding user to roster group::" + groupId + " username: " + addedUsername);
-		
-		List<String> list = new ArrayList<String>();
-		list.add(groupOwnerUsername);
-		list.add(imUsername);
-		return buddyGroupService.addUserToSharedGroup(groupId, list);
-	}
-	
-	@Override
-	public boolean syncFriendsRoster(String groupId, String groupname, Collection<String> addedUsers, Collection<String> removedUsers) {
-		List<String> addedIMUserList = new ArrayList<String>();
-		if(addedUsers != null) {
-			for(String addedUser:addedUsers) {
-				String imUsername = nameHelper.getIMUsernameByOlatUsername(addedUser);
-				addedIMUserList.add(imUsername);
-				boolean hasAccount = accountService.hasAccount(imUsername);
-				if (!hasAccount) {
-					clientManager.getInstantMessagingCredentialsForUser(imUsername);
-				}
-			}
-		}
-		
-		List<String> removedIMUserList = new ArrayList<String>();
-		if(removedUsers != null) {
-			for(String removedUser:removedUsers) {
-				removedIMUserList.add(nameHelper.getIMUsernameByOlatUsername(removedUser));
-			}
-		}
-		
-		boolean allOk = true;
-		if(!addedIMUserList.isEmpty()) {
-			allOk = buddyGroupService.createSharedGroup(groupId, groupname);
-			allOk = buddyGroupService.addUserToSharedGroup(groupId, addedIMUserList);
-		}
-		allOk = buddyGroupService.removeUsersFromSharedGroup(groupId, removedIMUserList);
-		return allOk;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#removeUserFromFriendsRoster(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public boolean removeUserFromFriendsRoster(String groupId, String username) {
-		String imUsername = nameHelper.getIMUsernameByOlatUsername(username);
-		
-		logDebug("Deleting user from roster group::" + groupId + " username: " + imUsername);
-		
-		return buddyGroupService.removeUserFromSharedGroup(groupId, imUsername);
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#deleteRosterGroup(java.lang.String)
-	 */
-	public boolean deleteRosterGroup(String groupId) {
-		//groupId is already converted to single/multiple instance version
-		
-		logDebug("Deleting roster group from instant messaging server::" + groupId);
-		
-		return buddyGroupService.deleteSharedGroup(groupId);
-
-	}
-
-	/**
-	 * @param groupId
-	 * @param displayName
-	 */
-	public boolean renameRosterGroup(String groupId, String displayName) {
-		
-		logDebug("Renaming roster group on instant messaging server::" + groupId);
-		
-		return buddyGroupService.renameSharedGroup(groupId, displayName);
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#sendStatus(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public void sendStatus(String username, String message) {
-		//only send status if client is active otherwise course dispose may recreate an connection
-		if (clientManager.hasActiveInstantMessagingClient(username)) {
-			InstantMessagingClient imc = clientManager.getInstantMessagingClient(username);
-			String recentStatus = imc.getStatus();
-			//awareness presence packets get only sended if not "unavailable". Otherwise the unavailable status gets overwritten by an available one. 
-			if (!recentStatus.equals(InstantMessagingConstants.PRESENCE_MODE_UNAVAILABLE)) 
-				imc.sendPresence(Presence.Type.available, message, 0, Presence.Mode.valueOf(imc.getStatus()));
-		}
-	}
- 
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#createAccount(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public boolean createAccount(String username, String password, String fullname, String email) {
-		boolean success;
-		success =  accountService.createAccount(nameHelper.getIMUsernameByOlatUsername(username), password, fullname, email);
-		
-		logDebug("Creating new user account on IM server for user:" + username + " returned: "+success);
-		
-		return success;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#deleteAccount(java.lang.String)
-	 */
-	public boolean deleteAccount(String username) {
-		boolean success;
-		success = accountService.deleteAccount(nameHelper.getIMUsernameByOlatUsername(username));
-		
-		logDebug("Deleting user account on IM server for user:" + username + " returned: "+success);
-		
-		return success;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#getIMPassword(java.lang.String)
-	 */
-	public String getIMPassword(String username) {
-		return clientManager.getInstantMessagingClient(username).getPassword();
-
-	}
-
-	/**
-	 * @return Set containing the usernames
-	 */
-	public Set<String> getUsernamesFromConnectedUsers() {
-		return new HashSet<String>(getClients().keySet());
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#getClients()
-	 */
-	public Map<String,InstantMessagingClient> getClients() {
-		return clientManager.getClients();
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#enableChat(java.lang.String)
-	 */
-	public void enableChat(String username) {
-		clientManager.getInstantMessagingClient(username).enableCollaboration();
-		
-		logDebug("Enabling chat for user::" + username);
-		
-	}
-
-	/**
-	 * @param username
-	 * @param reason A resason why the chat is disabled like "Doing test"
-	 * @see org.olat.instantMessaging.InstantMessaging#disableChat(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public void disableChat(String username, String reason) {
-		clientManager.getInstantMessagingClient(username).disableCollaboration(reason);
-		
-		logDebug("Disabling chat for user::" + username + "and reason" + reason);
-		
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#countConnectedUsers()
-	 */
-	@Override
-	public int countConnectedUsers() {
-		return sessionCount;
-	}
-	
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	private boolean synchonizeRoster(BusinessGroup group, Set<Long> checkedIdentities) {
-		BaseSecurity securityManager = BaseSecurityManager.getInstance();
-		List<SecurityGroup> secGroups = new ArrayList<SecurityGroup>();
-		secGroups.add(group.getOwnerGroup());
-		secGroups.add(group.getPartipiciantGroup());
-		List<IdentityShort> users = securityManager.getIdentitiesShortOfSecurityGroups(secGroups, 0, -1);
-
-		int counter = 0;
-		List<String> usernames = new ArrayList<String>();
-		for (IdentityShort ident:users) {
-			logDebug("getting im credentials for user::" + ident.getName());
-			// as jive only adds users to a group that already exist we have to make
-			// sure they have an account.
-			if(checkedIdentities == null || !checkedIdentities.contains(ident.getKey())) {
-				clientManager.checkInstantMessagingCredentialsForUser(ident.getKey());
-				if(checkedIdentities != null) {
-					checkedIdentities.add(ident.getKey());
-				}
-				
-				if (counter % 25 == 0) {
-					DBFactory.getInstance().intermediateCommit();
-				}
-				counter++;
-			}
-			usernames.add(nameHelper.getIMUsernameByOlatUsername(ident.getName()));
-		}
-		String groupId = InstantMessagingModule.getAdapter().createChatRoomString(group);
-		if (users.size() > 0 ) { // only sync groups with users
-			if (!buddyGroupService.createSharedGroup(groupId, group.getName())){
-				logError("could not create shared group: "+groupId, null);
-			} else {
-				buddyGroupService.addUserToSharedGroup(groupId, usernames);
-			}
-			logDebug("synchronizing group::" + group.toString());
-		} else {
-			logDebug("empty group: not synchronizing group::" + group.toString());
-		}
-		//when looping over all buddygroups and learninggroups close transaction after each group
-		DBFactory.getInstance().intermediateCommit();
-		return true;
-	}
-	
-	private boolean isChatEnabled(BusinessGroup group) {
-		CollaborationTools tools = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(group);
-		if(tools == null) {
-			return false;
-		}
-		return tools.isToolEnabled(CollaborationTools.TOOL_CHAT);
-	}
-	
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#synchronizeLearningGroupsWithIMServer()
-	 */
-
-	//fxdiff: FXOLAT-219 decrease the load for synching groups
-	public boolean synchronizeBusinessGroupsWithIMServer() {
-		if (!(adminConnecion != null && adminConnecion.getConnection() != null && adminConnecion.getConnection().isConnected())) {
-			return false;
-		}
-		logInfo("Starting synchronisation of LearningGroups with IM server");
-		long start = System.currentTimeMillis();
-		IMConfigSync syncGroups = InstantMessagingModule.getAdapter().getConfig().getSyncGroupsConfig();
-
-		int counter = 0;
-		int GROUP_BATCH_SIZE = 50;
-		List<BusinessGroup> groups;
-		Set<Long> checkedIdentities = new HashSet<Long>();
-		SearchBusinessGroupParams params = new SearchBusinessGroupParams();
-		do {
-			groups = businessGroupService.findBusinessGroups(params, null, counter, GROUP_BATCH_SIZE);
-			for (BusinessGroup group:groups) {
-				if (syncGroups == IMConfigSync.never || (syncGroups == IMConfigSync.perConfig && !isChatEnabled(group))) {
-					String groupID = InstantMessagingModule.getAdapter().createChatRoomString(group);
-					if (deleteRosterGroup(groupID)) {
-						logInfo("deleted unwanted group: "+group.getResourceableTypeName()+" "+groupID, null);
-					}
-				} else if (!synchonizeRoster(group, checkedIdentities)) {
-					logError("couldn't sync group: "+group.getResourceableTypeName(), null);
-				}
-				if (counter++ % 6 == 0) {
-					DBFactory.getInstance(false).intermediateCommit();
-				}
-
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {
-					logError("", e);
-				}
-			}
-		} while(groups.size() == GROUP_BATCH_SIZE);
-
-		logInfo("Ended synchronisation of LearningGroups with IM server: Synched "+counter+" groups in " + (System.currentTimeMillis() - start) + " (ms)");
-		return true;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#createChatRoomString(org.olat.core.id.OLATResourceable
-	 */
-	public String createChatRoomString(OLATResourceable ores) {
-		String roomName = ores.getResourceableTypeName() + "-" + ores.getResourceableId(); 
-		return nameHelper.getGroupnameForOlatInstance(roomName);
-	}
-	
-	public String createChatRoomJID(OLATResourceable ores) {
-		return createChatRoomString(ores)+"@"+config.getConferenceServer();
-	}
-	
-	/**
-	 * @see org.olat.instantMessaging.InstantMessaging#getAllConnectedUsers()
-	 */
-	public List<ConnectedUsersListEntry> getAllConnectedUsers(Identity currentUser) {
-		return sessionItemsService.getConnectedUsers(currentUser);
-	}
-
-	public InstantMessagingSessionCount getSessionCountService() {
-		return sessionCountService;
-	}
-
-	/**
-	 * [used by spring]
-	 * @param sessionCountService
-	 */
-	public void setSessionCountService(InstantMessagingSessionCount sessionCountService) {
-		this.sessionCountService = sessionCountService;
-	}
-	
-	/**
-	 * [used by spring]
-	 * @param sessionCountService
-	 */
-	public void setBuddyGroupService(InstantMessagingGroupSynchronisation buddyGroupService) {
-		this.buddyGroupService = buddyGroupService;
-	}
-
-	/**
-	 * [used by spring]
-	 * @param sessionItemsService
-	 */
-	public void setSessionItemsService(InstantMessagingSessionItems sessionItemsService) {
-		this.sessionItemsService = sessionItemsService;
-	}
-
-	/**
-	 * [used by spring]
-	 * @param accountService
-	 */
-	public void setAccountService(RemoteAccountCreation accountService) {
-		this.accountService = accountService;
-	}
-
-	/**
-	 * [used by spring]
-	 * @param clientManager
-	 */
-	public void setClientManager(ClientManager clientManager) {
-		this.clientManager = clientManager;
-	}
-	
-	/**
-	 * 
-	 * @return client manager where you have access to the IM client itself
-	 */
-	public ClientManager getClientManager() {
-		return clientManager;
-	}
-
-	public IMConfig getConfig() {
-		return config;
-	}
-
-	public void setConfig(IMConfig config) {
-		this.config = config;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#hasAccount(java.lang.String)
-	 */
-	public boolean hasAccount(String username) {
-		return accountService.hasAccount(nameHelper.getIMUsernameByOlatUsername(username));
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#getUserJid(java.lang.String)
-	 */
-	public String getUserJid(String username) {
-		return nameHelper.getIMUsernameByOlatUsername(username)+"@"+config.getServername();
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#getUsernameFromJid(java.lang.String)
-	 */
-	public String getUsernameFromJid(String jid) {
-		return nameHelper.extractOlatUsername(jid);
-	}
-
-	public String getIMUsername(String username) {
-		return nameHelper.getIMUsernameByOlatUsername(username);
-	}
-
-	public void setNameHelper(IMNameHelper nameHelper) {
-		this.nameHelper = nameHelper;
-	}
-
-	/**
-	 * [spring]
-	 * @param adminConnection
-	 */
-	public void  setAdminConnection(AdminUserConnection adminConnection) {
-		this.adminConnecion = adminConnection;
-	}
-	
-	// use rarely, as this is normally linked by spring!
-	public AdminUserConnection getAdminUserConnection(){
-		return this.adminConnecion;
-	}
-	
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#resetAdminConnection()
-	 */
-	public void resetAdminConnection() {
-		this.adminConnecion.resetAndReconnect();
-	}
-	
-	/**
-	 * [spring]
-	 * @param clientVersion
-	 */
-	public void setClientVersion(String clientVersion) {
-		this.clientVersion = clientVersion;
-	}
-	
-	public void setServerPluginVersion(InstantMessagingServerPluginVersion pluginVersion) {
-		this.pluginVersion = pluginVersion;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.InstantMessaging#checkServerPlugin()
-	 */
-	public String checkServerPlugin() {
-		if (clientVersion.equals(pluginVersion.getPluginVersion())) {
-			return "<b>Jupee!</b> Server plugin and OLAT client run on the same version: "+pluginVersion.getPluginVersion();
-		} else if (pluginVersion.getPluginVersion() == null) {
-			return "The server does not respond with a version. Do you have the plugin installed? Does the admin user have a running connection to the IM server?";
-		}
-		return "OLAT runs on client version: "+clientVersion +" but the server version is: "+pluginVersion.getPluginVersion()+"<br/><b>Plese upgrade!</b>";
-	}
-
-	@Override
-	public IMNameHelper getNameHelper() {
-		return nameHelper;
-	}
-
-	void setSessionCount(int sessionCount) {
-		this.sessionCount = sessionCount;
-	}
-	
-	public String synchronizeAllOLATUsers(){
-		StringBuilder sb = new StringBuilder();
-		InstantMessaging im = InstantMessagingModule.getAdapter();
-		logInfo("Started synchronisation of all OLAT users with IM server.");
-		List<Identity> allIdentities = BaseSecurityManager.getInstance().getVisibleIdentitiesByPowerSearch(null, null, false, null, null, null, null, null);
-		int identCount = 0;
-		int authCount = 0;
-		int imDelCount = 0;
-		int imCreateCount = 0;
-		for (Identity identity : allIdentities) {
-			Roles roles = BaseSecurityManager.getInstance().getRoles(identity);
-			if (roles.isGuestOnly() || roles.isInvitee()) continue;
-			
-			String userName = identity.getName();
-			boolean hasIMAccount = im.hasAccount(userName);
-			// try to detect double wrapped users on IM-Server
-			String imUserName = im.getIMUsername(userName);
-			int index = imUserName.indexOf("_");
-			if (index >= 0){ // only for names in multipleInstance-mode
-				String instanceID = imUserName.substring(index);
-				String badIMName = (imUserName + instanceID).toLowerCase();
-				if (accountService.hasAccount(badIMName)) {
-					logWarn("found an invalid IM account with double encoded username in multi instance mode. will remove this account in IM-server: " + badIMName, null);
-					sb.append("removed IM account with double instanceID:").append(badIMName);
-					accountService.deleteAccount(badIMName);
-				}			
-			}
-			
-			//TODO: try to connect with auth-token, if not working, resync IM-PW
-			
-			Authentication auth = BaseSecurityManager.getInstance().findAuthentication(identity, ClientManager.PROVIDER_INSTANT_MESSAGING);
-			if (auth != null && !hasIMAccount) {
-				// there is an invalid auth token, but no IM-account, remove auth
-				BaseSecurityManager.getInstance().deleteAuthentication(auth);
-				DBFactory.getInstance().intermediateCommit();
-				auth = null;
-				authCount++;
-			}
-			if (auth == null) {
-				if (hasIMAccount) {
-					// remove existing account, to later have auth and im-pw in sync!
-					im.deleteAccount(userName);
-					imDelCount++;
-				}				
-				String pw = RandomStringUtils.randomAlphanumeric(6);
-				String fullName = identity.getUser().getProperty(UserConstants.FIRSTNAME, null) + " " + identity.getUser().getProperty(UserConstants.LASTNAME, null);
-				boolean success = im.createAccount(userName, pw, fullName, identity.getUser().getProperty(UserConstants.EMAIL, null));
-				if (success) {
-					auth = BaseSecurityManager.getInstance().createAndPersistAuthentication(identity, ClientManager.PROVIDER_INSTANT_MESSAGING, userName.toLowerCase(), pw);
-					imCreateCount++;
-				}					
-			}
-						
-			// TODO: sync users buddylist!?
-			
-			identCount ++;
-			if (identCount % 20 == 0) {
-				DBFactory.getInstance().intermediateCommit();
-			}	
-		}	
-		sb.append(" looped over ").append(identCount).append(" identities to sync.");
-		sb.append("  removed invalid authentication tokens: ").append(authCount);
-		sb.append("  deleted IM-accounts before recreation: ").append(imDelCount);
-		sb.append("  recreated IM-accounts and authentications: ").append(imCreateCount);
-		String status = sb.toString();
-		logInfo(" Sync status: " + status);
-		logInfo("Ended synchronisation of all OLAT users.");
-		return status;
-	}
-	
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/XMPPConnListener.java b/src/main/java/org/olat/instantMessaging/XMPPConnListener.java
deleted file mode 100644
index be6d914ea9bb1d3095a33a8d4f97ac6309d7fd7b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/XMPPConnListener.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging;
-
-import org.jivesoftware.smack.ConnectionListener;
-
-/**
- * Initial Date: 21.02.2005
- * Helper Class for connection monitoring of instant messaging connection
- * @author guido
- */
-public class XMPPConnListener implements ConnectionListener {
-	private InstantMessagingClient imc = null;
-
-	public XMPPConnListener(InstantMessagingClient imc) {
-		this.imc = imc;
-	}
-
-	/**
-	 * called on normal disconnect
-	 * 
-	 * @see org.jivesoftware.smack.ConnectionListener#connectionClosed()
-	 */
-	public void connectionClosed() {
-		// if connection.close() is called by OLAT the imc is already disconnected when getting this event
-		if (imc.isConnected()) {
-			imc.setIsConnected(false);
-			InstantMessagingModule.getAdapter().getClientManager().destroyInstantMessagingClient(imc.getUsername());
-		}
-	}
-
-	/**
-	 * called automatically when server crashes
-	 * 
-	 * @see org.jivesoftware.smack.ConnectionListener#connectionClosedOnError(java.lang.Exception)
-	 */
-	public void connectionClosedOnError(Exception e) {
-		// if connection.close() is called by OLAT the imc is already disconnected when getting this event
-		if (imc.isConnected()) {
-			imc.setIsConnected(false);
-			InstantMessagingModule.getAdapter().getClientManager().destroyInstantMessagingClient(imc.getUsername());
-		}
-	}
-
-	public void reconnectingIn(int arg0) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void reconnectionFailed(Exception arg0) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	public void reconnectionSuccessful() {
-		// TODO Auto-generated method stub
-		
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/_spring/instantMessagingContext.xml b/src/main/java/org/olat/instantMessaging/_spring/instantMessagingContext.xml
index 035d5b30fb0cc0b60f18962bc8114e16414abca9..4c754a4fbd29feaed48c559e518d83eed0b97032 100644
--- a/src/main/java/org/olat/instantMessaging/_spring/instantMessagingContext.xml
+++ b/src/main/java/org/olat/instantMessaging/_spring/instantMessagingContext.xml
@@ -8,137 +8,46 @@
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
-<context:component-scan base-package="org.olat.instantMessaging" />
-	
-	<bean id="instantMessagingModule" class="org.olat.instantMessaging.InstantMessagingModule" 
-		init-method="init" destroy-method="destroy" />
-	
-	<bean id="org.olat.instantMessaging.InstantMessaging" 
-		class="org.olat.instantMessaging.SmackInstantMessagingImpl">
-		
-		<!-- creating instance depending on config in olat.properties -->
-		<property name="sessionCountService" ref="org.olat.im.IMSessionCount${cluster.mode}"/>
-		<property name="buddyGroupService" ref="org.olat.im.IMBuddyGroupService" />
-		<property name="businessGroupService" ref="businessGroupService" />
-		
-		<!-- creating instance depending on config in olat.properties -->
-		<property name="sessionItemsService" ref="org.olat.im.IMSessionItemsService${cluster.mode}" />
-		<property name="accountService" ref="org.olat.im.IMAccountService" />
-		<property name="clientManager" ref="org.olat.im.ClienManager"/>
-		<property name="config" ref="org.olat.im.IMConfig"/>
-		<property name="nameHelper" ref="org.olat.im.NameHelper" />
-		<property name="adminConnection" ref="org.olat.im.AdminConnection" />
-		<property name="serverPluginVersion" ref="org.olat.im.IMPluginVersionService" />
-		<!-- plugin on IM server has to be the same version as on the olat client side -->
-		<property name="clientVersion" value="1.1" />
-		<property name="actionController">
-			<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
-				<property name="className" value="org.olat.instantMessaging.groupchat.GroupChatManagerController"/>
-			</bean>
+	<context:component-scan base-package="org.olat.instantMessaging" />
+	
+	<bean id="instantMessagingModule" class="org.olat.instantMessaging.InstantMessagingModule">
+		<property name="persistedProperties">
+	  	<bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy" 
+	  		depends-on="coordinatorManager,org.olat.core.util.WebappHelper">
+	    	<constructor-arg index="0" ref="coordinatorManager"/>
+	    	<constructor-arg index="1" ref="instantMessagingModule" />
+	  	</bean>
 		</property>
 	</bean>
 	
-	<!-- Cluster version of Session Count -->
-	<bean id="org.olat.im.IMSessionCountCluster" 
-		class="org.olat.instantMessaging.syncservice.RemoteSessionCountOverXMPP" lazy-init="true">
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Local version of Session Count -->
-	<bean id="org.olat.im.IMSessionCountSingleVM" 
-		class="org.olat.instantMessaging.syncservice.SessionCountLocal"  lazy-init="true">
-	</bean>
-	
-	<bean id="org.olat.im.IMBuddyGroupService" 
-		class="org.olat.instantMessaging.syncservice.RemoteGroupCreationOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Cluster version of Session Items list -->
-	<bean id="org.olat.im.IMSessionItemsServiceCluster" 
-		class="org.olat.instantMessaging.syncservice.RemoteSessionsOnIMServerOverXMPP"  lazy-init="true">
-		<constructor-arg ref="IMPrefsManager" />
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Local version of Session Items list -->
-	<bean id="org.olat.im.IMSessionItemsServiceSingleVM" 
-		class="org.olat.instantMessaging.ui.ConnectedUsersLocal"  lazy-init="true">
-		<constructor-arg ref="IMPrefsManager" />
-	</bean>
-	
-	<bean id="org.olat.im.IMAccountService" 
-		class="org.olat.instantMessaging.syncservice.RemoteAccountCreationOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<bean id="org.olat.im.IMPluginVersionService" 
-		class="org.olat.instantMessaging.syncservice.RemotePluginVersionOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-		
-	<bean id="org.olat.im.ClienManager" 
-		class="org.olat.instantMessaging.ClientManagerImpl"/>
-		
-	<bean id="org.olat.im.AdminConnection" 
-	class="org.olat.instantMessaging.AdminUserConnection" destroy-method="dispose">
-		<constructor-arg ref="org.olat.im.IMConfig" />
-	</bean>
-		
-	<bean id="org.olat.im.IMConfig" class="org.olat.instantMessaging.IMConfig">
-		<property name="enabled" value="${instantMessaging.enable}" />
-		<property name="servername" value="${instantMessaging.server.name}" />
-		<property name="nodeId" value="${node.id}" />		
-		<property name="multipleInstances" value="${instantMessaging.multipleInstances}"/>
-		<property name="adminName" value="${instantMessaging.admin.username}" />		
-		<property name="adminPassword" value="${instantMessaging.admin.password}" />
-		<property name="replaceStringForEmailAt" value="${instantMessaging.replaceStringForEmailAt}" />
-		<!--  fxdiff: FXOLAT-46 -->
-		<property name="hideExternalClientInfo" value="${instantMessaging.hideExternalClientInfo}" />
-		
-		<!-- adjust for you needs-->
-		
-		<!-- polling intervall when not chatting -->
-		<property name="idlePolltime" value="5000" />
-		<!-- polling intervall while chatting -->
-		<property name="chatPolltime" value="2000" />
-		<!-- synchonisation of groups on IM server. -->
-		<property name="syncGroups" value="${instantMessaging.sync.groups}" />
-		<property name="packetReplyTimeout" value="${instantMessaging.packetReplyTimeout}" />
-	</bean>
-	
-	<bean id="org.olat.im.NameHelper" class="org.olat.instantMessaging.IMNameHelper">
-		<constructor-arg index="0" ref="org.olat.im.IMConfig" />
-		<constructor-arg index="1" value="${instance.id}" />
-	</bean>
-	
-	<bean id="IMPrefsManager" class="org.olat.instantMessaging.ImPrefsManager">
-		<property name="awarenessVisible" value="${instantMessaging.awarenessVisible}" />
-	</bean>
-	
-	<!-- fxdiff FXOLAT-219 decrease the load on openfire while synching -->
-	<bean id="instantMessagingSyncTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
-	    <property name="jobDetail" ref="org.olat.instantMessaging.sync.learning.groups" />
-    	<!-- repeat every 10 seconds -->
-    	<property name="repeatInterval" value="10000" />
-    	<!-- never repeat -->
-    	<property name="repeatCount" value="0"/>
-			<!-- OLAT-5093 start delay ensures there's no conflict with server startup and db not being ready yet -->
-	    <property name="startDelay" value="${instantMessaging.sync.learning.groups.start.delay}" />
-	</bean>
-	
-	<bean id="countUserOnlineTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
-		<property name="jobDetail" ref="countUserOnlineJob" />
-		<property name="cronExpression" value="*/30 * * * * ?" />
-		<property name="startDelay" value="40000" />
-	</bean>
-	
-	<bean id="countUserOnlineJob" class="org.springframework.scheduling.quartz.JobDetailBean">
-		<property name="jobClass" value="org.olat.instantMessaging.CountSessionsOnServerJob" />
+	<!-- default configuration -->
+	<bean  class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+		<property name="targetObject" ref="instantMessagingModule" />
+		<property name="targetMethod" value="init" />
+		<property name="arguments">
+			<value>
+				im.enabled=${instantMessaging.enable}
+			</value>
+		</property>
 	</bean>
 	
-	<bean id="org.olat.instantMessaging.sync.learning.groups" class="org.springframework.scheduling.quartz.JobDetailBean" lazy-init="true">
-	  <property name="jobClass" value="org.olat.instantMessaging.InstantMessagingJob"/>
+	<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
+		<property name="order" value="7210" />
+		<property name="actionController">	
+			<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
+				<property name="className" value="org.olat.instantMessaging.ui.InstantMessagingAdminController"/>
+			</bean>
+		</property>
+		<property name="navigationKey" value="im" />
+		<property name="i18nActionKey" value="menu.imadmin"/>
+		<property name="i18nDescriptionKey" value="menu.imadmin.alt"/>
+		<property name="translationPackage" value="org.olat.admin"/>
+		<property name="extensionPoints">
+			<list>	
+				<value>org.olat.admin.SystemAdminMainController</value>		
+			</list>
+		</property>
+		<property name="enabled" value="${instantMessaging.enable}"/>
+		<property name="parentTreeNodeIdentifier" value="modulesParent" /> 
 	</bean>
-
 </beans>
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/GroupChatJoinTask.java b/src/main/java/org/olat/instantMessaging/groupchat/GroupChatJoinTask.java
deleted file mode 100644
index 2412b5cb69ceb2a365c384d161a97bd89463e0d7..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/GroupChatJoinTask.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.groupchat;
-
-import java.util.Date;
-
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Packet;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smackx.Form;
-import org.jivesoftware.smackx.FormField;
-import org.jivesoftware.smackx.muc.MultiUserChat;
-import org.jivesoftware.smackx.muc.RoomInfo;
-import org.olat.core.gui.control.Event;
-import org.olat.core.id.OLATResourceable;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.core.util.coordinate.SyncerExecutor;
-import org.olat.core.util.event.GenericEventListener;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.instantMessaging.InstantMessagingEvent;
-
-public class GroupChatJoinTask implements Runnable {
-
-	MultiUserChat muc;
-	XMPPConnection connection;
-	String roomJID;
-	String nickname;
-	GenericEventListener listeningController;
-	private PacketListener messageListener;
-	private PacketListener participationsListener;
-	String roomName;
-	OLog log = Tracing.createLoggerFor(GroupChatJoinTask.class);
-	private OLATResourceable ores;
-
-	public GroupChatJoinTask(OLATResourceable ores, MultiUserChat muc, XMPPConnection connection, String roomJID, String nickname, String roomName,
-			GenericEventListener listeningController) {
-		this.ores = ores;
-		this.muc = muc;
-		this.connection = connection;
-		this.roomJID = roomJID;
-		this.roomName = roomName;
-		this.nickname = nickname;
-		this.listeningController = listeningController;
-	}
-
-	public void run() {
-		//o_clusterOK by guido
-		OLATResourceable syncOres = OresHelper.createOLATResourceableInstance("GroupChatJoinTask",ores.getResourceableId());
-		CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(syncOres, new SyncerExecutor() {
-			public void execute() {
-				if (connection != null && connection.isAuthenticated()) {
-					try {
-						RoomInfo info = MultiUserChat.getRoomInfo(connection, roomJID);
-						// throws an exception if the room does not exists
-						muc.join(nickname); // log in anonymous
-						addMessageListener();
-						addParticipationsListener();
-					} catch (XMPPException e) {
-						try {
-							if (e.getXMPPError().getCode() == 404) {
-								muc.create(nickname);
-								Form form = muc.getConfigurationForm();
-								Form answer = form.createAnswerForm();
-	
-								FormField fieldRoomName = new FormField("muc#roomconfig_roomname");
-								fieldRoomName.addValue(roomName);
-								answer.addField(fieldRoomName);
-	
-								FormField fieldMaxUsers = new FormField("muc#roomconfig_maxusers");
-								fieldMaxUsers.addValue("0");// 0 means unlimited
-								answer.addField(fieldMaxUsers);
-	
-								muc.sendConfigurationForm(answer);
-								addMessageListener();
-								addParticipationsListener();
-								
-								listeningController.event(new Event("ready"));
-								
-							} else {
-								log.warn("Could not join group chatroom (case 1): " + roomName + " for user: " + nickname, e);
-								removeListeners();
-							}
-						} catch (XMPPException e1) {
-							log.warn("Could not create group chatroom(case 2): " + roomName + " for user: " + nickname, e1);
-						} catch (Exception e1) {
-							/**
-							 * this case happens when the servername is set to localhost or the servername is not configured
-							 * the same as in OLAT config file and Openfire (need restart when chanched)
-							 */
-							log.warn("Could not create group chatroom(case 3): " + roomName + " for user: " + nickname, e1);
-						}
-					} catch (Exception e) {// we catch also nullpointers that may occure in smack lib.
-						log.warn("Could not create group chatroom(case 4): " + roomName + " for user: " + nickname, e);
-					}
-				}
-			}
-		});
-	}
-
-	void removeListeners() {
-		if (messageListener != null) muc.removeMessageListener(messageListener);
-		if (participationsListener != null) muc.removeParticipantListener(participationsListener);
-	}
-
-	/**
-	 * listens to new messages for this chatroom
-	 */
-	void addMessageListener() {
-		messageListener = new PacketListener() {
-
-			public void processPacket(Packet packet) {
-				Message jabbmessage = (Message) packet;
-				if (log.isDebug()) log.debug("processPacket Msg: to=" + jabbmessage.getTo() );
-				jabbmessage.setProperty("receiveTime", new Long(new Date().getTime()));
-				if ((jabbmessage.getType() == Message.Type.groupchat) && jabbmessage.getBody() != null) {
-					listeningController.event(new InstantMessagingEvent(jabbmessage, "groupchat"));
-				}
-			}
-		};
-		muc.addMessageListener(messageListener);
-	}
-
-	/**
-	 * listen to new people joining the room in realtime and and set the new
-	 * content which sets the component to dirty which forces it to redraw
-	 */
-	void addParticipationsListener() {
-		participationsListener = new PacketListener() {
-
-			public void processPacket(Packet packet) {
-				Presence presence = (Presence) packet;
-				if (log.isDebug()) log.debug("processPacket Presence: to=" + presence.getTo() + " , " );
-				if (presence.getFrom() != null) {
-					listeningController.event(new InstantMessagingEvent(presence, "participant"));
-				}
-			}
-		};
-		muc.addParticipantListener(participationsListener);
-
-	}
-
-	protected PacketListener getMessageListener() {
-		return messageListener;
-	}
-
-	protected PacketListener getParticipationsListener() {
-		return participationsListener;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/GroupChatManagerController.java b/src/main/java/org/olat/instantMessaging/groupchat/GroupChatManagerController.java
deleted file mode 100644
index d3b557097ec8e42efccf5670f2ff2a34d468c02c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/GroupChatManagerController.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.groupchat;
-
-import java.util.HashMap;
-
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.panel.Panel;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.translator.Translator;
-import org.olat.core.id.OLATResourceable;
-
-
-/**
- * Description:<br>
- * GroupChatManagerController manages creation and deletion of groupChatControllers and provides 
- * 
- * <P>
- * Initial Date:  15.05.2008 <br>
- * @author guido
- */
-public  class GroupChatManagerController extends BasicController {
-
-	protected VelocityContainer container = createVelocityContainer("groupchats");
-	protected HashMap<OLATResourceable, InstantMessagingGroupChatController> chats = new HashMap<OLATResourceable, InstantMessagingGroupChatController>(2);
-	protected boolean lazyCreateChat = false;
-
-	public GroupChatManagerController(UserRequest ureq, WindowControl control) {
-		super(ureq, control);
-		container.contextPut("chats", chats);
-		putInitialPanel(container);
-	}
-
-	/**
-	 * [spring]
-	 * @param ureq
-	 * @param control
-	 * @param fallBackTranslator
-	 */
-	private GroupChatManagerController(UserRequest ureq, WindowControl control, Translator fallBackTranslator) {
-		super(ureq, control, fallBackTranslator);
-	}
-
-	/**
-	 * @param ureq
-	 * @param windowControl
-	 * @param ores
-	 * @param roomName
-	 * @param compact
-	 * @param anonymousInChatroom
-	 */
-	public void createGroupChat(UserRequest ureq, WindowControl windowControl, OLATResourceable ores, String roomName, boolean compact,
-			boolean anonymousInChatroom) {
-		
-		Panel p = new Panel("groupchatholder");
-		InstantMessagingGroupChatController groupchat = new InstantMessagingGroupChatController(
-				ureq, windowControl, ores, roomName, p, compact, anonymousInChatroom,
-				!ores.getResourceableTypeName().equals("BusinessGroup")
-		);
-		
-		container.put(ores.getResourceableId().toString(), p);
-		chats.put(ores, groupchat);
-	}
-
-	public Controller getGroupChatController(OLATResourceable ores) {
-		return chats.get(ores);
-	}
-
-	@Override
-	protected void doDispose() {
-		//
-	}
-
-	@Override
-	protected void event(UserRequest ureq, Component source, Event event) {
-		//
-	}
-
-	public Component getGroupChatContainer() {
-		return container;
-	}
-
-	public void removeChat(OLATResourceable ores) {
-		InstantMessagingGroupChatController chatCtr = chats.remove(ores);
-		if (chatCtr != null) {
-			chatCtr.dispose();
-		}
-		
-		Component c = container.getComponent(ores.getResourceableId().toString());
-		container.remove(c);
-	}
-
-	/**
-	 * 
-	 * @return true if the users do not join the chatRoom automatically
-	 */
-	public boolean isLazyCreateChat() {
-		return lazyCreateChat;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java b/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java
deleted file mode 100644
index fb49508e8ecf9ec1778210edf255d44a9b299dce..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/InstantMessagingGroupChatController.java
+++ /dev/null
@@ -1,829 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.groupchat;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.concurrent.RejectedExecutionException;
-
-import org.jivesoftware.smack.PacketListener;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Presence;
-import org.jivesoftware.smackx.muc.MultiUserChat;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.commons.taskExecutor.TaskExecutorManager;
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
-import org.olat.core.gui.components.panel.Panel;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.floatingresizabledialog.FloatingResizableDialogController;
-import org.olat.core.gui.control.winmgr.JSCommand;
-import org.olat.core.id.Identity;
-import org.olat.core.id.OLATResourceable;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.AssertException;
-import org.olat.core.util.event.EventBus;
-import org.olat.core.util.event.GenericEventListener;
-import org.olat.core.util.event.MultiUserEvent;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.course.nodes.iq.AssessmentEvent;
-import org.olat.ims.qti.process.AssessmentInstance;
-import org.olat.instantMessaging.ClientHelper;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingEvent;
-import org.olat.instantMessaging.InstantMessagingModule;
-
-/**
- * Description:<br />
- * Handles an group chat in an floating window with all events like receiving messages, sending messages and updating an roster with all joined users
- * 
- * There are several options how to display or start the chat as it gets used in different places
- * Initial Date: 13.03.2007 <br />
- * 
- * @author guido
- */
-public class InstantMessagingGroupChatController extends BasicController implements GenericEventListener {
-	
-	private static final String NICKNAME_PREFIX = "anonym_";
-	private String NICKNAME_ANONYMOUS;
-	private XMPPConnection connection;
-	private MultiUserChat muc;
-	private VelocityContainer errorCompact = createVelocityContainer("errorCompact");
-	private VelocityContainer error = createVelocityContainer("error");
-	private VelocityContainer groupchatVC = createVelocityContainer("groupchat");
-	private VelocityContainer groupChatMsgFieldVC = createVelocityContainer("groupChatMsgField");
-	private VelocityContainer summaryCompactVC = createVelocityContainer("summaryCompact");
-	private VelocityContainer rosterVC = createVelocityContainer("roster");
-	private VelocityContainer summaryVC = createVelocityContainer("summary");
-	private Panel groupChatMsgPanel;
-	private ToggleAnonymousForm toggleAnonymousForm;
-	private SendMessageForm sendMessageForm;
-	private String roomJID;
-	private StringBuilder messageHistory;
-	private Link openGroupChatPanel;
-	private Link indicateNewMessage;
-	private Link openGroupChatPanelButton;
-	private Link refresh;
-	private Panel main, roster;
-	private GroupChatJoinTask roomJoinTask;
-	private boolean chatWindowOpen = false;
-	private Locale locale;
-	private FloatingResizableDialogController floatingResizablePanelCtr;
-	private OLATResourceable ores;
-	private final Panel chatWindowHolder;
-	private final boolean compact;
-	private String roomName;
-	private JSAndCSSComponent jsc;
-	private List<String> rosterList = new ArrayList<String>();
-	private boolean anonymousInChatroom;
-	private boolean lazyCreation;
-	private boolean initDone;
-
-	private String myFullName;
-	
-	private String jsTweakCmd = "";
-	private String jsFocusCmd = "";
-	
-	private boolean startup = true;
-	private EventBus singleUserEventCenter;
-	private List allChats;
-	private OLATResourceable assessmentEventOres;
-	private OLATResourceable assessmentInstanceOres;
-	private boolean isInAssessment;
-	
-	/**
-	 * 
-	 * @param ureq
-	 * @param wControl
-	 * @param ores
-	 * @param roomName
-	 * @param fixcsspanel if you want the panel rendered somewhere else to solve css issues add it here otherwise null
-	 * @param lazyCreation if true the user does not get joined automatically to the chatRoom
-	 */
-	protected InstantMessagingGroupChatController(UserRequest ureq, WindowControl wControl, OLATResourceable ores, String roomName, Panel chatWindowHolder,
-			boolean compact, boolean anonymousInChatroom, boolean lazyCreation) {
-		
-		super(ureq, wControl);
-		this.chatWindowHolder = chatWindowHolder;
-		this.compact = compact;
-		if (roomName == null) throw new AssertException("roomName can not be null");
-		this.roomName = roomName;
-		if (ores == null) throw new AssertException("olat resourcable can not be null");
-		this.ores = ores;
-		this.locale = ureq.getLocale();
-		this.anonymousInChatroom = anonymousInChatroom;
-		this.lazyCreation = lazyCreation;
-		
-		singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
-		assessmentEventOres = OresHelper.createOLATResourceableType(AssessmentEvent.class);
-		assessmentInstanceOres = OresHelper.createOLATResourceableType(AssessmentInstance.class);
-		
-		singleUserEventCenter.registerFor(this, getIdentity(), assessmentEventOres);
-		isInAssessment |= singleUserEventCenter.getListeningIdentityCntFor(assessmentInstanceOres) > 0;
-		
-		allChats = (List) ureq.getUserSession().getEntry("chats");
-		if (allChats == null) {
-			allChats = new ArrayList();
-			ureq.getUserSession().putEntry("chats", allChats);
-		}
-		
-		main = new Panel("main");
-			
-		if (lazyCreation) { //show only link to join the groupChat
-
-			openGroupChatPanel = LinkFactory.createCustomLink("participantsCount", "cmd.open.client", "", Link.NONTRANSLATED, summaryCompactVC, this);
-			openGroupChatPanel.setCustomDisplayText(translate("click.to.join"));
-			openGroupChatPanel.setCustomEnabledLinkCSS("b_toolbox_link");
-			openGroupChatPanel.setCustomDisabledLinkCSS("b_toolbox_link");
-			openGroupChatPanel.setTooltip(translate(isInAssessment? "chat.not.available.now" :"click.to.join"), false);
-			openGroupChatPanel.registerForMousePositionEvent(true);
-			openGroupChatPanel.setEnabled(!isInAssessment);
-			main.setContent(summaryCompactVC);
-			putInitialPanel(main);
-		} else {
-			
-			//create controller stuff and join chatRoom immediately
-			if ( init(ureq) ) {
-				putInitialPanel(main);
-			} else {
-				//error case
-				putInitialPanel(errorCompact);
-			}
-		}
-	}
-
-	/**
-	 * 
-	 * @param ureq
-	 */
-	private boolean init(UserRequest ureq) {
-		
-		NICKNAME_ANONYMOUS = NICKNAME_PREFIX+(int)Math.rint(Math.random()*getIdentity().getKey());
-		connection = InstantMessagingModule.getAdapter().getClientManager().getInstantMessagingClient(getIdentity().getName()).getConnection();
-		
-		roomJID = InstantMessagingModule.getAdapter().createChatRoomJID(ores);
-		groupChatMsgPanel = new Panel("groupchat");
-		roster = new Panel("roster");
-		roster.setContent(rosterVC);
-		
-		messageHistory = new StringBuilder();
-		groupchatVC.put("groupChatMessages", groupChatMsgPanel);
-		
-		
-		if (compact) {
-			
-			openGroupChatPanel = LinkFactory.createCustomLink("participantsCount", "cmd.open.client", "", Link.NONTRANSLATED, summaryCompactVC, this);
-			openGroupChatPanel.setCustomDisplayText(translate("click.to.join"));
-			openGroupChatPanel.setTooltip(translate("course.chat.click.to.join"), false);
-			openGroupChatPanel.setCustomEnabledLinkCSS("b_toolbox_link");
-			openGroupChatPanel.setCustomDisabledLinkCSS("b_toolbox_link");
-			openGroupChatPanel.registerForMousePositionEvent(true);
-			openGroupChatPanel.setEnabled(!isInAssessment);
-			main.setContent(summaryCompactVC);
-		} else {
-			openGroupChatPanelButton = LinkFactory.createButton("openChat", summaryVC, this);
-			openGroupChatPanelButton.registerForMousePositionEvent(true);
-			openGroupChatPanelButton.setEnabled(!isInAssessment);
-			summaryVC.put("roster", roster);
-			main.setContent(summaryVC);
-		}
-		
-		groupChatMsgPanel.setContent(groupChatMsgFieldVC);
-		groupChatMsgFieldVC.contextPut("id", this.hashCode());
-		
-		//create form for username toggle
-		toggleAnonymousForm = new ToggleAnonymousForm(ureq, getWindowControl());
-		listenTo(toggleAnonymousForm);
-		
-		//toggle form only if logged in anonymous
-		if (anonymousInChatroom) groupchatVC.put("toggleSwitch", toggleAnonymousForm.getInitialComponent());
-		
-		//create form for msg sending
-		sendMessageForm = new SendMessageForm(ureq, getWindowControl());
-		listenTo(sendMessageForm);
-		groupchatVC.put("sendMessageForm", sendMessageForm.getInitialComponent());
-		
-		refresh = LinkFactory.createCustomLink("refresh", "cmd.refresh", "", Link.NONTRANSLATED, groupchatVC, this);
-		refresh.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_refresh_icon");
-		refresh.setTitle(getTranslator().translate("im.refresh"));
-		
-		Link refreshList = LinkFactory.createButtonXSmall("im.refresh", summaryVC, this);
-		
-		jsc = new JSAndCSSComponent("intervall2", this.getClass(), null, null, false, null, InstantMessagingModule.getIDLE_POLLTIME());
-		groupchatVC.put("checkfordirtycomponents", jsc);
-		
-		groupChatMsgFieldVC.contextPut("groupChatMessages", "");
-		
-		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
-		groupchatVC.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		summaryVC.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		
-		setChatStartable(false);
-		
-		if (connection != null && connection.isConnected()) {
-			try {
-				muc = new MultiUserChat(connection, roomJID);
-				if (anonymousInChatroom) {
-					roomJoinTask = new GroupChatJoinTask(ores, muc, connection, roomJID, NICKNAME_ANONYMOUS, sanitizeRoomName(roomName), this);
-				} else {
-					roomJoinTask = new GroupChatJoinTask(ores, muc, connection, roomJID, getIdentity().getName(), sanitizeRoomName(roomName), this);
-					rosterVC.setDirty(true);
-				}
-				
-				TaskExecutorManager.getInstance().runTask(roomJoinTask);		
-			} catch (IllegalStateException e) {
-				logWarn("Error while trying to create group chat room for user"+getIdentity().getName()+" and course resource: +ores", e);
-			}	catch (RejectedExecutionException e) {
-				logWarn("Error while trying to create group chat room for user"+getIdentity().getName()+" and course resource: +ores", e);
-			}
-			
-		} else {
-			return false;
-		}
-		
-		myFullName = getFullUserName(getIdentity().getName());
-		
-		initDone = true;
-		return true;
-	}
-
-	/**
-	 * clean room name from ampersands
-	 * @param room
-	 * @return
-	 */
-	private String sanitizeRoomName(String room) {
-		if (room.contains("&")) {
-			return room.replaceAll("&", "&amp;");
-		}
-		return room;
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
-	 */
-	@Override
-	protected void doDispose() {
-		
-		if (muc != null && muc.isJoined() && connection.isConnected()) {
-			try {
-				
-				muc.leave();
-				PacketListener msgListener = roomJoinTask.getMessageListener();
-				if (msgListener != null) muc.removeMessageListener(msgListener);
-				PacketListener pListener = roomJoinTask.getParticipationsListener();
-				if (pListener != null) muc.removeParticipantListener(pListener);
-				muc = null;
-				
-	
-			} catch (Exception e) {
-				logWarn("Error while leaving multiuserchat:", e);
-			}	
-			
-		}
-
-		if (chatWindowOpen) {
-			getWindowControl().getWindowBackOffice().sendCommandTo(getCloseCommand());
-			allChats.remove(this);
-			singleUserEventCenter.fireEventToListenersOf(
-					new MultiUserEvent("ChatWindowClosed"),
-					OresHelper.createOLATResourceableType(InstantMessaging.class)
-			);
-		}
-	}
-
-	public JSCommand getCloseCommand () {
-		String w = floatingResizablePanelCtr.getPanelName();
-		StringBuilder sb = new StringBuilder();
-		sb.append("try{");
-		sb.append("Ext.getCmp('").append(w).append("').purgeListeners();");
-		sb.append("Ext.getCmp('").append(w).append("').close();");
-		sb.append("Ext.getCmp('").append(w).append("').distroy();");
-		sb.append("}catch(e){}");
-		return new JSCommand(sb.toString());
-	}
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.components.Component,
-	 *      org.olat.core.gui.control.Event)
-	 */
-	@Override
-	public void event(UserRequest ureq, Component source, Event event) {
-		
-		if (lazyCreation && !initDone) {
-			init(ureq);
-		}
-		
-		//offer refresh button for non ajax mode
-		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
-		groupchatVC.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		summaryVC.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		
-		if ((muc != null && muc.isJoined())  ||  lazyCreation) {
-			if (source == openGroupChatPanel || source == openGroupChatPanelButton || source == indicateNewMessage) {
-				int x=0; int y=0;
-				if (source == openGroupChatPanel) {
-					x = openGroupChatPanel.getOffsetX()-450;
-					y = openGroupChatPanel.getOffsetY()+30;
-					if (x == -450 && y == 30) {x=300;y=300;} //selenium does not send xy coordinates -> set panel somewhere visible
-				} else if (source == openGroupChatPanelButton) {
-					x = openGroupChatPanelButton.getOffsetX();
-					y = openGroupChatPanelButton.getOffsetY();
-				} else if (source == indicateNewMessage) {
-					x = indicateNewMessage.getOffsetX()-550;
-					y = indicateNewMessage.getOffsetY();
-				}		
-				
-				if (!chatWindowOpen) {
-					setChatStartable(false);
-					removeAsListenerAndDispose(floatingResizablePanelCtr);
-					floatingResizablePanelCtr = new FloatingResizableDialogController(
-							ureq, getWindowControl(), groupchatVC,
-							translate("course.groupchat")+" "+roomNameShort(roomName), 550, 300, x, y, roster,
-							translate("groupchat.roster"), true, false, true, "chat_"+ores.getResourceableId()+"_win"
-					);
-					listenTo(floatingResizablePanelCtr);
-					
-					
-					groupchatVC.contextPut("panelName", floatingResizablePanelCtr.getPanelName());
-					
-					String pn = floatingResizablePanelCtr.getPanelName();
-					jsTweakCmd = "<script>Ext.onReady(function(){try{tweak_"+pn+"();}catch(e){}});</script>";
-					jsFocusCmd = "<script>Ext.onReady(function(){try{focus_"+pn+"();}catch(e){}});</script>";
-					
-					jsc.setRefreshIntervall(InstantMessagingModule.getCHAT_POLLTIME());
-
-					if (chatWindowHolder != null) {
-						chatWindowHolder.setContent(floatingResizablePanelCtr.getInitialComponent());
-					} else {
-						main.setContent(floatingResizablePanelCtr.getInitialComponent());
-					}
-				}
-				
-				if (muc != null && muc.isJoined()) {
-					try {
-						muc.changeAvailabilityStatus("chatOpen", Presence.Mode.available);
-					} catch (IllegalStateException e) {
-						logWarn("Could not change chat status from" + getIdentity().getName(), e);
-						showWarning("groupchat.not.available");
-					}
-					
-				} else {
-					addMeToRosterList(anonymousInChatroom ? NICKNAME_ANONYMOUS : getIdentity().getName());
-				}
-				
-				chatWindowOpen = true;
-				
-				allChats.add(Integer.toString(hashCode()));
-				singleUserEventCenter.fireEventToListenersOf(
-						new MultiUserEvent("ChatWindowOpened"),
-						OresHelper.createOLATResourceableType(InstantMessaging.class)
-				);
-				
-				groupchatVC.contextPut("title", roomNameShort(roomName));
-				if (indicateNewMessage != null) {
-					indicateNewMessage.setCustomEnabledLinkCSS("");
-				}
-			}
-		} else {
-			if (compact) {
-				main.setContent(errorCompact);
-			} else {
-				main.setContent(error);
-			}
-		}
-		update();
-	}
-	
-	private String roomNameShort(String roomNameLong) {
-		if (roomNameLong.length() > 30) return roomNameLong.substring(0, 29)+"...";
-		return roomNameLong;
-	}
-
-
-
-	/**
-	 * 
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
-	 */
-	@Override
-	protected void event(UserRequest ureq, Controller source, Event event) {
-		
-		if (source == sendMessageForm) {
-			if (sendMessageForm.getMessage().trim().length() == 0) {
-				//nothing happens on entering empty message
-				//need refresh for focus
-				
-				synchronized (messageHistory) { 
-					groupChatMsgFieldVC.contextPut(
-							"groupChatMessages",
-							messageHistory.toString() + jsTweakCmd + jsFocusCmd
-					);
-				}
-				
-				return;
-			}
-		}
-		
-		//TODO:gs:a wrap also muc, to catch all exceptions which can occur
-		if (muc != null && muc.isJoined()) {
-			
-			try {				
-				if (source == toggleAnonymousForm) {
-					try {
-						removeMeFromRosterList();
-						if (toggleAnonymousForm.isAnonymous()) {
-							muc.changeNickname(NICKNAME_ANONYMOUS);
-							addMeToRosterList(NICKNAME_ANONYMOUS);
-						} else {
-							muc.changeNickname(getIdentity().getName());
-							addMeToRosterList(myFullName);
-						}
-					} catch (XMPPException e) {
-						logWarn("Could not change nickname for user: "+getIdentity().getName() + " in course chat: "+ores, e);
-						appendToMsgHistory(createMessage("chatroom", getTranslator().translate("msg.send.error")));
-					} catch (Exception e) {
-						logWarn("Could not change nickname for user: "+getIdentity().getName() + " in course chat: "+ores, e);
-						appendToMsgHistory(createMessage("chatroom", translate("msg.send.error")));
-					}
-					
-				} else if (source == sendMessageForm) {
-						logDebug("sending msg: +"+sendMessageForm.getMessage()+ "+ to chatroom: "+roomJID, null);
-						try {
-							muc.sendMessage(sendMessageForm.getMessage());
-							sendMessageForm.resetTextField();
-							
-						} catch (XMPPException e) {
-							logWarn("Could not send IM message for user: "+getIdentity().getName() + " in course chat: "+ores, e);
-							appendToMsgHistory(createMessage("chatroom", translate("msg.send.error")));
-						}
-				}
-				
-			} catch (IllegalStateException e) {
-				//this happens when the server is going down while the user had already joind a room and tries to send a msg
-				logWarn("Could not send IM message for user: "+getIdentity().getName() + " in course chat: "+ores, e);
-				appendToMsgHistory(createMessage("chatroom", translate("msg.send.error")));
-			}
-			
-			groupChatMsgFieldVC.setDirty(true);//for non ajax mode
-			rosterVC.setDirty(true); //for non ajax mode
-			
-		} else {
-			Message msg = createMessage("chatroom", translate("coursechat.not.available"));
-			appendToMsgHistory(msg);
-			main.setContent(errorCompact);
-		}
-		
-		if (source == floatingResizablePanelCtr) {
-			
-			if (event.getCommand().equals("done")) {
-				close();
-			}
-		}
-		update();
-	}
-
-	public void close () {
-		
-		chatWindowOpen = false;
-		setChatStartable(true);
-	
-		allChats.remove(Integer.toString(hashCode()));
-		singleUserEventCenter.fireEventToListenersOf(
-				new MultiUserEvent("ChatWindowClosed"),
-				OresHelper.createOLATResourceableType(InstantMessaging.class)
-		);
-		
-		removeMeFromRosterList();
-		
-		jsc.setRefreshIntervall(InstantMessagingModule.getIDLE_POLLTIME());
-		
-		if (muc != null && connection.isConnected() && muc.isJoined()) {
-			muc.changeAvailabilityStatus("chatClosed", Presence.Mode.available);
-		}
-		
-		if (chatWindowHolder != null) {
-			chatWindowHolder.setContent(null);
-		} else {
-			if (compact) {
-				main.setContent(summaryCompactVC);
-			} else {
-				main.setContent(summaryVC);
-			}
-
-			if (indicateNewMessage != null) {
-				summaryCompactVC.remove(indicateNewMessage);
-				indicateNewMessage = null;
-			}
-		}
-	}
-	
-	public boolean isChatWindowOpen() {
-		return chatWindowOpen;
-	}
-
-	private Message createMessage(String from, String msgBody) {
-		Message msg = new Message();
-		msg.setBody(msgBody);
-		msg.setFrom(from);
-		msg.setProperty("receiveTime", new Long(new Date().getTime()));
-		return msg;
-	}
-	
-	private void setChatStartable (boolean onoff) {
-		if (openGroupChatPanelButton != null) {
-			openGroupChatPanelButton.setEnabled(!isInAssessment && onoff);
-		}
-		if (openGroupChatPanel != null) {
-			openGroupChatPanel.setEnabled(!isInAssessment && onoff);
-		}
-	}
-	
-	public void event(Event event) {
-		
-		if (event instanceof AssessmentEvent) {
-			if(((AssessmentEvent)event).getEventType().equals(AssessmentEvent.TYPE.STARTED)) {
-				isInAssessment = true;
-			} else if (((AssessmentEvent)event).getEventType().equals(AssessmentEvent.TYPE.STOPPED)) {
-				isInAssessment =  singleUserEventCenter.getListeningIdentityCntFor(assessmentInstanceOres) > 0;
-			}
-			summaryVC.contextPut("isInAssessment", isInAssessment);
-			setChatStartable(!startup && !isInAssessment);
-			if (openGroupChatPanel != null) {
-				openGroupChatPanel.setEnabled(!isInAssessment);
-				if (isInAssessment) {
-					openGroupChatPanel.setTooltip(translate("chat.not.available.now"), false);
-				} else {
-					openGroupChatPanel.setTooltip(translate("course.chat.click.to.join"), false);
-				}
-			}
-			return;
-		}
-		
-		
-		if (event.getCommand().equals("ready")) {
-			startup = false;
-			setChatStartable(!isInAssessment);
-			update();
-			return;
-		}
-		
-		setChatStartable(!isInAssessment && !chatWindowOpen && !startup);
-		
-		if (muc != null) {
-			
-			if (startup) {
-				startup = false;
-				if (!chatWindowOpen) {
-					muc.changeAvailabilityStatus("chatClosed", Presence.Mode.away);
-				}
-			}
-			
-			removeMeFromRosterList();
-			
-			if (anonymousInChatroom && toggleAnonymousForm.isAnonymous()) {
-				addMeToRosterList(NICKNAME_ANONYMOUS);
-			} else  {
-				if (chatWindowOpen) {
-					addMeToRosterList(myFullName);
-				}
-			}
-		}
-		
-		if (event instanceof InstantMessagingEvent) {
-			
-			InstantMessagingEvent imEvent = (InstantMessagingEvent)event;
-
-			if (imEvent.getCommand().equals("groupchat")) {
-
-				Message msg = (Message) imEvent.getPacket();
-				msg.setProperty("receiveTime", new Long(new Date().getTime()));
-
-				logDebug("incoming msg for groupchat: "+msg.getType(), null);
-
-				if ((msg.getType() == Message.Type.groupchat) && msg.getBody() != null) {
-
-					String uname = extractUsername(msg.getFrom());
-
-					if (!uname.equals("chatroom")) {
-						if (!chatWindowOpen) {
-							indicateNewMessage  = LinkFactory.createCustomLink("indicateNewMsg", "cmd.open.client", "&nbsp;", Link.NONTRANSLATED, summaryCompactVC, this);
-							indicateNewMessage.registerForMousePositionEvent(true);
-							indicateNewMessage.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_new_msg_icon");
-							indicateNewMessage.setTooltip(getTranslator().translate("groupchat.new.msg"), true);
-						}
-
-						appendToMsgHistory(msg);
-
-					}
-				}
-			} else if (imEvent.getCommand().equals("participant")) {
-
-				Presence presence = (Presence) imEvent.getPacket();
-				logDebug("incoming presence change for groupchat: "+presence.getFrom() +" : "+ presence.getType(), null);
-
-				if (presence.getFrom() != null) {
-
-					try {
-						prepareRosterList(presence);
-						//have to close DB connection because presence events
-						//are not from "normal clicks" ...
-						DBFactory.getInstance(false).commitAndCloseSession();
-
-					} catch (Exception e) {
-						DBFactory.getInstance(false).rollbackAndCloseSession();
-					}
-				}
-			}
-		}
-		update();
-	}
-
-
-
-	private void appendToMsgHistory(Message msg) {
-		
-			String uname = extractUsername(msg.getFrom());
-			if (uname.equals("chatroom")) {
-				//not displaying system messages in olat
-				return;
-			}
-			
-			StringBuilder sb = new StringBuilder();
-			sb.append("<div><span style=\"color:"+colorizeUserName(uname)+"\">[");
-			sb.append(ClientHelper.getSendDate(msg, locale));
-			sb.append("] ");
-			sb.append(uname);
-			sb.append(": </span>");
-			sb.append(msg.getBody().replaceAll("<", "&lt;").replaceAll(">", "&gt;"));
-			sb.append("</div>");
-			
-			synchronized (messageHistory) {
-				StringBuilder f;
-				messageHistory.append(sb);
-				f = new StringBuilder (messageHistory);
-				f.append(jsTweakCmd);
-				if (uname.equals(getIdentity().getName()) || uname.equals(NICKNAME_ANONYMOUS)) {
-					f.append(jsFocusCmd);
-				}
-				groupChatMsgFieldVC.contextPut("groupChatMessages", f.toString());
-			}
-	}
-	
-	
-	private String getFullUserName(String username) {
-		Identity ident = BaseSecurityManager.getInstance().findIdentityByName(username);
-		if (ident != null) {
-			StringBuilder sb = new StringBuilder();
-			sb.append(ident.getUser().getProperty(UserConstants.FIRSTNAME, locale)).append(" ");
-			sb.append(ident.getUser().getProperty(UserConstants.LASTNAME, locale)).append(" ");
-			sb.append("(").append(ident.getName()).append(")");
-			return sb.toString();
-		}
-		return username;
-	}
-	
-	private void prepareRosterList (final Presence p) {
-		
-		synchronized (rosterList) {
-
-			String s = p.getStatus();
-			String t = p.getType().name();
-			String n = getFullUserName(extractUsername(p.getFrom()));
-			
-			if ("chatEcho".equals(s)) {
-				if (!rosterList.contains(n)) {
-					rosterList.add(n);
-				}
-			} else if ("chatOpen".equals(s)) {
-				if (!rosterList.contains(n)) {
-					rosterList.add(n);
-				}
-				if (chatWindowOpen) {
-					muc.changeAvailabilityStatus("chatEcho", Presence.Mode.available);
-				}
-			} else if ("chatClosed".equals(s)) {
-					if (chatWindowOpen) {
-						muc.changeAvailabilityStatus("chatEcho", Presence.Mode.available);
-					}
-					rosterList.remove(n);
-			} else if (t.equals("available")) {
-				if (!rosterList.contains(n)) {
-					rosterList.add(n);
-				}
-			} else if (t.equals("unavailable")) {
-				rosterList.remove(n);
-			}
-
-			if (!chatWindowOpen) {
-				rosterList.remove(NICKNAME_ANONYMOUS);
-			}
-		}
-		
-	}
-	
-	private void removeMeFromRosterList () {
-			
-		synchronized (rosterList) {
-			rosterList.remove(NICKNAME_ANONYMOUS);
-			rosterList.remove(myFullName);
-		}
-	}
-	
-	private void addMeToRosterList (String fname) {
-		
-		synchronized (rosterList) {
-			
-			rosterList.remove(NICKNAME_ANONYMOUS);
-			
-			if (!rosterList.contains(fname)) {				
-				rosterList.add(fname);
-			}
-		}
-	}
-	
-	private String colorizeUserName(String from) {
-		//append name to lengt 6
-		if (from.startsWith(NICKNAME_PREFIX)) {
-			from = new StringBuilder(from).reverse().toString();
-		}
-		
-		if (from.length() < 6){
-			while (from.length() < 6) {
-				from = from+"9";
-			}
-		}
-		//get hex form the first 6 chars (only numbers)
-		StringBuilder sb = new StringBuilder();
-		sb.append("#");
-		for (int j = 0; j < 6; j++) {
-			int z = from.charAt(j)%9;
-			switch (z) {
-				case 8: sb.append("A"); break;//make more darker colors
-				case 9: sb.append("B"); break;
-				default:sb.append(z);
-			}
-		}
-		return sb.toString();
-	}
-
-	private String extractUsername(String from) {
-		if(from != null) {
-			if(from.contains("/"))
-				return from.substring(from.lastIndexOf("/")+1, from.length());
-		}
-		return "chatroom";
-	}
-	
-	private void update () {
-		
-		synchronized(rosterList) {
-			Integer c = rosterList.size();
-			Collections.sort(rosterList);
-			rosterVC.contextPut("rosterList", rosterList);
-
-			if (openGroupChatPanel != null) {
-				openGroupChatPanel.setCustomDisplayText(
-						translate("participants.in.chat", new String[]{c.toString()})
-				);
-			}
-		}
-	}
-	
-}
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/error.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/error.html
deleted file mode 100644
index 3073b9387b7f8910706db6e2c5bcd5358361cb87..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/error.html
+++ /dev/null
@@ -1 +0,0 @@
-<span>$r.translate("groupchat.not.available")</span>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/errorCompact.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/errorCompact.html
deleted file mode 100644
index 799fe01e19cdfd253d45b0a815ff3991476b5e6e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/errorCompact.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="b_warning" title="$r.translateInAttribute("coursechat.not.available")" >
-	$r.translate("coursechat.not.available.short")
-</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupChatMsgField.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/groupChatMsgField.html
deleted file mode 100644
index 628947439c0a82d47b7563503066925098f81e77..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupChatMsgField.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<div class="o_groupchat_history" id="$id">
-	$groupChatMessages
-</div>
-
-<script type="text/javascript">
-/* <![CDATA[ */ 
-	//setTimeout used because otherwise it would not work the first time the chatwindow is displayed
-	setTimeout(function() {
-		var d = $("$id");
-		if (d && d.offsetHeight < d.scrollHeight) d.scrollTop = d.scrollHeight + 13;
-	}, 42);
-/* ]]> */ 
-</script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchat.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchat.html
deleted file mode 100644
index d9d54841f038824f7334b32061813d1d34c0aea2..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchat.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<div class="o_groupchat_chat">
-	<div class="b_clearfix">
-		#if ($r.available("toggleSwitch"))
-			$r.render("toggleSwitch")
-		#end
-		#if(!$isAjaxMode)
-			$r.render("refresh")
-		#end
-	</div>
-	$r.render("groupChatMessages")
-	<div class="o_groupchat_chat_form">
-		$r.render("sendMessageForm")
-	</div>
-</div>
-
-
-<script type="text/javascript">
-/* <![CDATA[ */ 
-
-function tweak_${panelName}() {
-
-	try {
-			
-		var win = Ext.getCmp('${panelName}');
-		var el = win.body.dom.getElementsByClassName('o_groupchat_history');
-		
-		if (el.length == 1) {
-			el[0].style.height=win.getSize().height-150 + 'px';
-		}
-		
-	} catch (e) {
-		//
-	}
-}
-
-function focus_${panelName}() {
-	
-	try {
-			
-		var win = Ext.getCmp('${panelName}');
-		var el = win.body.dom.getElementsByTagName('input');
-		
-		for (var i=0; i<el.length; i++) {
-			if (el[i].type == 'text') {
-				el[i].focus();
-			}
-		}
-		
-	} catch (e) {
-		//
-	}
-}
-
-/* ]]> */
-</script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchats.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchats.html
deleted file mode 100644
index c823dd9edab722adf0e07703112892f42302c66d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/groupchats.html
+++ /dev/null
@@ -1,3 +0,0 @@
-#foreach ($entry in $chats.keySet())
-	$r.render($entry.getResourceableId().toString())
-#end
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/roster.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/roster.html
deleted file mode 100644
index 102173fc0ba4b2b6f6dc05d880be6148c9ee279c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/roster.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<div class="o_groupchat_roster">
-<ul>
-#foreach($entry in $rosterList)
-	<li>$entry</li>			
-#end
-</ul>
-</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/summaryCompact.html b/src/main/java/org/olat/instantMessaging/groupchat/_content/summaryCompact.html
deleted file mode 100644
index 204f1e78aa9612c16d16150431c5c1158646060f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_content/summaryCompact.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="b_float_left ">
-$r.render("participantsCount")
-</div>
-#if($r.available("indicateNewMsg"))
-	<span class="b_float_right ">$r.render("indicateNewMsg")</span>
-#end
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ar.properties
deleted file mode 100644
index f7a1b2fb29abc56ce0a0f05ec1766b3200859cc3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ar.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Mon Feb 22 15:12:14 CET 2010
-click.to.join=...\u0627\u062F\u062E\u0644 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
-close=\u0625\u063A\u0644\u0627\u0642
-close.connections=...\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0627\u062A\u0635\u0627\u0644
-course.chat.click.to.join=\u064A\u0645\u0643\u0646\u0643 \u0641\u0649 \u0647\u0630\u0627 \u0627\u0644\u0645\u0642\u0631\u0631 \u0625\u0631\u0633\u0627\u0644 \u0648\u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0645\u0646 \u0645\u0634\u0627\u0631\u0643\u0649 \u0627\u0644\u0645\u0642\u0631\u0631.
-course.chat.intro=\u0644\u0642\u062F \u0642\u0645\u062A \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0645\u0633\u062A\u062E\u062F\u0645 \u0645\u062C\u0647\u0648\u0644\u060C \u0639\u0644\u0649 \u0623\u064A\u0629 \u062D\u0627\u0644\u060C <br>\u060C\u064A\u0645\u0643\u0646\u0643 \u0647\u0646\u0627 \u0645\u062D\u062F\u062B\u0629 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0627\u0644\u0630\u064A\u0646 \u0642\u0627\u0645\u0648\u0627 \u0628\u062A\u0639\u062F\u064A\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0642\u0631\u0631\r\n\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0642\u0631\u0631 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0641\u0649 \u0623\u0648\u0644\u0627\u062A\u060C\r\n\u0648\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0631\u064A\u062F \u0627\u0644\u0645\u063A\u0627\u062F\u0631\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0645\u0642\u0631\u0631 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.<br>
-course.groupchat=\:\u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-coursechat.not.available=\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629 \u062D\u0627\u0644\u064A\u0627\u064B\u060C \u064A\u0631\u062C\u0649 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0641\u0649 \u0648\u0642\u062A \u0644\u0627\u062D\u0642.
-coursechat.not.available.short=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629.
-groupchat.new.msg=\!\u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0641\u0649 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
-groupchat.not.available=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629.
-groupchat.roster=\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646
-im.conference.maxi.intro=\u064A\u0645\u0643\u0646\u0643 \u0647\u0646\u0627 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u0622\u062E\u0631\u064A\u064A\u0646 \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
-im.conference.maxi.title=\u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-im.conference.participants=\:\u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u062D\u0627\u0644\u0649 \u064A\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0627\u0644\u062A\u0627\u0644\u064A\u064A\u0646 \u0647\u0630\u0647 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-im.refresh=\u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0639\u0631\u0636
-im.refresh.auto=\u0627\u0644\u0639\u0631\u0636 \u0633\u064A\u062A\u0645 \u062A\u062D\u0645\u064A\u0644\u0647 \u062A\u0644\u0642\u0627\u0626\u064A\u0627\u064B.
-init.messaging=Init
-msg.send=\u0627\u0631\u0633\u0627\u0644
-msg.send.error=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u062A\u0643\u060C \u064A\u0631\u062C\u0649 \u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0645\u0642\u0631\u0631 \u0645\u0646 \u062C\u062F\u064A\u062F \u0644\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649.
-nobody=\u0644\u0627 \u0623\u062D\u062F
-openChat=\u062F\u062E\u0648\u0644 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-participants.in.chat=\u062F\u0627\u062E\u0644 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
-toogle.anonymous=\u0639\u0631\u0636 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0641\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-update.roster=\u062A\u062D\u062F\u064A\u062B
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_bg.properties
deleted file mode 100644
index b8a9158106edde6b88f9b80d02a63964f63c320a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_bg.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Fri Aug 28 04:36:08 CEST 2009
-click.to.join=\u0412\u043B\u0435\u0437\u0442\u0435 \u0432 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442...
-close=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435
-close.connections=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0432\u0440\u044A\u0437\u043A\u0438\u0442\u0435...
-course.chat.click.to.join=\u0412 \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441\u043E\u0432 \u0447\u0430\u0442 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043F\u0440\u0430\u0442\u0438\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438, \u043A\u0430\u043A\u0442\u043E \u0438 \u0434\u0430 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u0442\u0430\u043A\u043E\u0432\u0430.
-course.chat.intro=\u0422\u0443\u043A \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441 \u0445\u043E\u0440\u0430, \u043A\u043E\u0438\u0442\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0442 \u043A\u0443\u0440\u0441\u0430 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430.<br>\u0412\u0438\u0435 \u0441\u0442\u0435 \u0432\u043B\u0435\u0437\u043B\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430 \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E. \u041E\u0431\u0430\u0447\u0435, \u043C\u043E\u0436\u0435 \u0434\u0430 \u0440\u0435\u0448\u0438\u0442\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0441\u043A\u043E\u0442\u043E \u0441\u0438 \u0438\u043C\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u0442\u043E\u0432\u0430.
-course.groupchat=\u0421\u0442\u0430\u044F \u0437\u0430 \u0447\u0430\u0442\:
-coursechat.not.available=\u041A\u0443\u0440\u0441\u043E\u0432\u0438\u044F\u0442 \u0447\u0430\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430. \u041C\u043E\u043B\u044F, \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043E\u0442\u043D\u043E\u0432\u043E \u043F\u043E-\u043A\u044A\u0441\u043D\u043E.
-coursechat.not.available.short=\u0427\u0430\u0442\u044A\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438.
-groupchat.new.msg=\u041D\u043E\u0432\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442\!
-groupchat.not.available=\u0427\u0430\u0442\u044A\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438.
-groupchat.roster=\u0423\u0447\u0430\u0441\u0442\u043D\u0438\u0446\u0438
-im.conference.maxi.intro=\u0422\u0443\u043A \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438 \u0447\u043B\u0435\u043D\u043E\u0432\u0435 \u043D\u0430 \u0442\u0430\u0437\u0438 \u0433\u0440\u0443\u043F\u0430.
-im.conference.maxi.title=\u0421\u0442\u0430\u044F \u0437\u0430 \u0447\u0430\u0442
-im.conference.participants=\u0412 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u0441\u043B\u0435\u0434\u043D\u0438\u0442\u0435 \u0445\u043E\u0440\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442 \u0442\u043E\u0437\u0438 \u0447\u0430\u0442\:
-im.refresh=\u041F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u0442\u0435 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446
-im.refresh.auto=\u041F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u044A\u0442 \u0449\u0435 \u0431\u044A\u0434\u0435 \u043F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.
-init.messaging=Init
-msg.send=\u0418\u0437\u043F\u0440\u0430\u0442\u0435\u0442\u0435
-msg.send.error=\u0412\u0430\u0448\u0435\u0442\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0438\u0437\u043F\u0440\u0430\u0442\u0435\u043D\u043E. \u041C\u043E\u043B\u044F, \u043E\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441 \u043E\u0442\u043D\u043E\u0432\u043E \u0438 \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043F\u0430\u043A.
-nobody=\u041D\u0438\u043A\u043E\u0439
-openChat=\u0412\u043B\u0435\u0437\u0442\u0435 \u0432 \u0441\u0442\u0430\u044F\u0442\u0430 \u0437\u0430 \u0447\u0430\u0442
-participants.in.chat=\u0412 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442
-toogle.anonymous=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0441\u043A\u043E \u0438\u043C\u0435 \u0432 \u0441\u0442\u0430\u044F\u0442\u0430 \u0437\u0430 \u0447\u0430\u0442
-update.roster=\u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u0430\u0439\u0442\u0435
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_cs.properties
deleted file mode 100644
index 47fb5d520e7f384a06dd49af46636e09c9eef0e0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_cs.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Mon Mar 02 09:54:14 CET 2009
-close=Zav\u0159\u00EDt
-close.connections=Zav\u0159\u00EDt p\u0159ipojen\u00ED...
-course.chat.intro=Zde m\u016F\u017Eete chatovat s lidmi, kte\u0159\u00ED pr\u00E1v\u011B upravuj\u00ED tento kurzu.&lt;br /&gt;Jste p\u0159ihl\u00E1\u0161en anonymn\u011B. M\u016F\u017Eete se tak\u00E9 rozhodnout pou\u017E\u00EDvat sv\u00E9 u\u017Eivatelsk\u00E9 jm\u00E9no v OLAT.
-course.groupchat=M\u00EDstonst\:
-coursechat.not.available=Chat kurzu je pr\u00E1v\u011B nedostupn\u00FD. Zkuste pozd\u011Bji.
-coursechat.not.available.short=Chat je nedostupn\u00FD.
-groupchat.new.msg=Nov\u00E1 zpr\u00E1va v chatu kurzu\!
-groupchat.not.available=Chat je nedostupn\u00FD.
-groupchat.roster=\u00DA\u010Dastn\u00EDci
-im.conference.maxi.intro=Zde m\u016F\u017Eete chatovat s ostatn\u00EDmi \u010Dleny skupiny.
-im.conference.maxi.title=M\u00EDstnost
-im.conference.participants=V m\u00EDstnosti jsou pr\u00E1v\u011B tito lid\u00E9\:
-im.refresh=Obnovit obrazovku
-im.refresh.auto=Obrazovka bude obnovov\u00E1na automaticky.
-init.messaging=Vytvo\u0159it
-msg.send=Odeslat
-msg.send.error=Va\u0161e zpr\u00E1va nemohla b\u00FDt odesl\u00E1na. Spus\u0165e tento kurz je\u0161t\u011B jenou a zkuste to znovu.
-nobody=Nikdo
-openChat=Vstoupit do m\u00EDstnosti
-participants.in.chat=Uvnit\u0159 chatu kurzu
-toogle.anonymous=Zobrazit u\u017Eivatelsk\u00E9 jm\u00E9no v m\u00EDstnosti
-update.roster=Upravit
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_de.properties
deleted file mode 100644
index 456905ad1c4886f22095c9b8f40951131211b6f3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_de.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-#Mon Mar 02 09:54:04 CET 2009
-close=Schliessen
-close.connections=Close connections...
-course.chat.intro=Hier k\u00F6nnen Sie mit anderen Kursteilnehmenden chatten.<br>Sie sind in diesem Chatraum anonym eingew\u00E4hlt, k\u00F6nnen jedoch auch Ihren OLAT-Benutzernamen anzeigen lassen.<br>Zum Verlassen des Chatraumes Kurs schliessen.
-course.groupchat=Chatraum\:
-coursechat.not.available.short=Chat nicht verf\u00FCgbar.
-groupchat.new.msg=Neue Nachrichten im Kurs-Chat vorhanden\!
-groupchat.not.available=Chat nicht verf\u00FCgbar.
-groupchat.roster=Teilnehmende
-im.conference.maxi.intro=Hier k\u00F6nnen Sie mit anderen Personen dieser Gruppe chatten.
-im.conference.maxi.title=Chatraum
-im.conference.participants=Zurzeit wird der Chat von folgenden Personen besucht\:
-im.refresh=Anzeige neu laden
-im.refresh.auto=Anzeige wird automatisch neu geladen.
-init.messaging=init
-msg.send=Senden
-msg.send.error=Ihre Nachricht konnte nicht gesendet werden. Bitte starten Sie den Kurs neu, um es nochmals zu versuchen.
-nobody=niemand
-openChat=Chatraum betreten
-toogle.anonymous=Eigenen Namen im Chatraum anzeigen
-update.roster=update
-
-
-im.conference.assessment.open=Schliessen Sie zuerst alle Tests, um den Chatraum betreten zu können.
-click.to.join=Kurs-Chat verbinden
-course.chat.click.to.join=Im Kurs-Chat k\u00F6nnen Sie Nachrichten an andere Kursteilnehmende senden und empfangen.
-participants.in.chat=Kurs-Chat betreten ({0})
-coursechat.not.available=Der Kurs-Chat ist momentan nicht verf\u00FCgbar. Bitte versuchen Sie es sp\u00E4ter nochmals.
-chat.not.available.now=Der Chat ist momentan nicht verf\u00FCgbar. Versuchen Sie es sp\u00E4ter wieder.
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_el.properties
deleted file mode 100644
index d2ac1db5939addfe0d62f5fea787c00271e06206..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_el.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#Mon Aug 30 14:14:39 CEST 2010
-click.to.join=\u0395\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2 \u03C3\u03C4\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2...
-close=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
-close.connections=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03B5\u03C9\u03BD...
-course.chat.click.to.join=\u03A3' \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C3\u03C4\u03B5\u03AF\u03BB\u03B5\u03C4\u03B5 \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03BB\u03AC\u03B2\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03C3\u03B5 \u03AC\u03BB\u03BB\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2.
-course.chat.intro=\u0395\u03B4\u03CE \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03BC\u03B5 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03AC\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1.&lt;br /&gt;\u0395\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9 \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B1. \u03A0\u03B1\u03C1\u03CC\u03BB\u03B1 \u03B1\u03C5\u03C4\u03AC, \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03C0\u03BF\u03C6\u03B1\u03C3\u03AF\u03C3\u03B5\u03C4\u03B5 \u03B1\u03BD\u03C4' \u03B1\u03C5\u03C4\u03BF\u03CD \u03C4\u03BF \u03CC\u03BD\u03BF\u03BC\u03B1 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7 \u03C4\u03BF\u03C5 OLAT.
-course.groupchat=Chatroom\:
-coursechat.not.available=\u03A4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BE\u03B1\u03BD\u03B1\u03C0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5 \u03B1\u03C1\u03B3\u03CC\u03C4\u03B5\u03C1\u03B1.
-coursechat.not.available.short=\u03A4\u03BF Chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF.
-groupchat.new.msg=\u039D\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03C3\u03C4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2\!
-groupchat.not.available=\u03A4\u03BF Chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF.
-groupchat.roster=\u03A3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2
-im.conference.maxi.intro=\u0395\u03B4\u03CE \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AE\u03C3\u03B5\u03C4\u03B5 \u03BC\u03B5 \u03AC\u03BB\u03BB\u03B1 \u03BC\u03AD\u03BB\u03B7 \u03C4\u03B7\u03C2 \u03BF\u03BC\u03AC\u03B4\u03B1\u03C2.
-im.conference.maxi.title=Chatroom
-im.conference.participants=\u0391\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE \u03BF\u03B9 \u03B1\u03BA\u03CC\u03BB\u03BF\u03C5\u03B8\u03BF\u03B9 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B5\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03BF\u03CD\u03BD \u03B1\u03C5\u03C4\u03CC \u03C4\u03BF chat\:
-im.refresh=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7 \u03C0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE\u03C2
-im.refresh.auto=\u0397 \u03C0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03B8\u03B1 \u03B1\u03BD\u03B1\u03BD\u03B5\u03CE\u03BD\u03B5\u03C4\u03B1\u03B9 \u03B1\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B1.
-msg.send=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE
-msg.send.error=\u03A4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03AC \u03C3\u03B1\u03C2 \u03B4\u03B5\u03BD \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B5 \u03BD\u03B1 \u03C3\u03C4\u03B1\u03BB\u03B5\u03AF. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B5\u03C0\u03B1\u03BD\u03B5\u03BA\u03BA\u03B9\u03BD\u03AE\u03C3\u03C4\u03B5 \u03C4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1 \u03BA\u03B1\u03B9 \u03BE\u03B1\u03BD\u03B1\u03C0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5.
-nobody=\u039A\u03B1\u03BD\u03B5\u03AF\u03C2
-openChat=\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03C3\u03C4\u03BF chatroom
-participants.in.chat=\u039C\u03AD\u03C3\u03B1 \u03C3\u03C4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
-toogle.anonymous=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BF\u03BD\u03CC\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7 \u03C3\u03C4\u03BF chatroom
-update.roster=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_en.properties
deleted file mode 100644
index 013ea1f6f2b706203260314392e6f7bc526ccb39..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_en.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#Sun Jan 23 12:56:27 CET 2011
-chat.not.available.now=This chat is temporarily unavailable. Please try again later.
-click.to.join=Connect to course chat
-close=Close
-close.connections=Close connections...
-course.chat.click.to.join=In this course chat you can send other course participants a message as well as receive one.
-course.chat.intro=Here you can chat with people who are currently editing this course.<br>You are logged on anonymously. However, you can decide to use your OLAT user name instead.<br>If you want to leave just close your course.
-course.groupchat=Chatroom\:
-coursechat.not.available=The course chat is currently not available. Please try again later.
-coursechat.not.available.short=Chat not available.
-groupchat.new.msg=New message in course chat\!
-groupchat.not.available=Chat not available.
-groupchat.roster=Participants
-im.conference.assessment.open=Please close all tests before entering a chat room.
-im.conference.maxi.intro=Here you can chat with other members of this group.
-im.conference.maxi.title=Chatroom
-im.conference.participants=At the moment the following people use this chat\:
-im.refresh=Refresh display
-im.refresh.auto=Display will be reloaded automatically.
-init.messaging=Init
-msg.send=Send
-msg.send.error=Your message could not be sent. Please relaunch this course to try again.
-nobody=Nobody
-openChat=Enter chatroom
-participants.in.chat=Enter course chat ({0})
-toogle.anonymous=Show user name in chatroom
-update.roster=Update
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_es.properties
deleted file mode 100644
index 033c0dd8b2d2b0f54e132dfa7cc10ba9148cce38..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_es.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Mon Mar 09 05:50:23 CET 2009
-click.to.join=Entrar al chat del curso...
-close=Cerrar
-close.connections=Cerrar conexiones...
-course.chat.click.to.join=En este chat curso puede enviar  mensajes a otros participantes del curso as\u00ED como recibir.
-course.chat.intro=Aqu\u00ED puedes chatear con otros autores que est\u00E1n modificando este curso&lt;br /&gt;Estas an\u00F3nimo. Si quieres puedes mostrar tu nombre de usuario de OLAT.
-course.groupchat=Chatroom\:
-coursechat.not.available=El chat del curso no est\u00E0 disponible por el momento. Por favor intentarlo mas tarde.
-coursechat.not.available.short=Chat no est\u00E0 disponible.
-groupchat.new.msg=Nuevo mensaje en el chat del curso\!
-groupchat.not.available=Chat no est\u00E0 disponible.
-groupchat.roster=Participantes
-im.conference.maxi.intro=Aqu\u00ED puedes chatear con otros miembros de este grupo.
-im.conference.maxi.title=Chatroom
-im.conference.participants=Por el momento estas usuarios est\u00E1n usando este chat\:
-im.refresh=Actualizar vista
-im.refresh.auto=Vista actualizado autom\u00E1ticamente. 
-init.messaging=Init
-msg.send=Enviar
-msg.send.error=Tu mensaje no pod\u00EDa ser enviado. Iniciar el chat de nuevo y intentarlo otra vez.
-nobody=Nadie
-openChat=Entrar chatroom
-participants.in.chat=En el chat del curso
-toogle.anonymous=Mostrar nombre de usuario
-update.roster=Actualizar
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_fr.properties
deleted file mode 100644
index b22a71a493130a687b85baba96ad686083e1c112..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_fr.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#Fri Jan 21 12:17:43 CET 2011
-chat.not.available.now=Le chat est actuellement indisponible. R\u00E9essayez plus tard, svp.
-click.to.join=Se connecter au chat du cours
-close=Fermer
-close.connections=Close connections...
-course.chat.click.to.join=Dans le chat du cours vous pouvez envoyer et recevoir des messages \u00E0 d'autres participants au cours.
-course.chat.intro=Ici vous pouvez converser avec d'autres personnes, qui \u00E9ditent \u00E9galement ce cours en ce moment.&lt;br /&gt; Vous \u00EAtes connect\u00E9(e) sur ce chatroom de fa\u00E7on anonyme, vous pouvez \u00E9galement afficher votre nom d'utilisateur OLAT.
-course.groupchat=Chatroom\:
-coursechat.not.available=Le chat du cours n'est pas disponible pour le moment. Veuillez essayer plus tard SVP.
-coursechat.not.available.short=Chat non disponible.
-groupchat.new.msg=Nouveau message dans le chat du cours\!
-groupchat.not.available=Chat non disponible.
-groupchat.roster=Participants
-im.conference.assessment.open=Il est n\u00E9cessaire de fermer tous les tests pour pouvoir entrer dans l'espace de chat.
-im.conference.maxi.intro=Ici vous pouvez converser avec d'autres personnes du groupe.
-im.conference.maxi.title=Chatroom
-im.conference.participants=En ce moment, les personnes suivantes participent au chat\:
-im.refresh=Rafra\u00EEchir l'affichage
-im.refresh.auto=L'affichage est rafra\u00EEchi automatiquement.
-init.messaging=init
-msg.send=Envoyer
-msg.send.error=Votre message n'a pas pu \u00EAtre envoy\u00E9. Veuillez red\u00E9marrer le cours pour r\u00E9essayer.
-nobody=personne
-openChat=Entrer dans le chatroom
-participants.in.chat=Entrer dans le chat du cours ({0})
-toogle.anonymous=Montrer nom d'utilisateur dans le chatroom
-update.roster=update
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_it.properties
deleted file mode 100644
index 2969baf294a41e0a59044de213e96d102b98ff4e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_it.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#Wed Jan 19 10:02:30 CET 2011
-chat.not.available.now=La chat non \u00E8 attualmente disponibile. Riprovi pi\u00F9 tardi, p.f.
-click.to.join=Collegarsi alla chat di corso
-close=Chiudere
-close.connections=Close connections...
-course.chat.click.to.join=Nel chat di corso pu\u00F2 inviare e ricevere messaggi agli altri partecipanti al corso.
-course.chat.intro=Qui pu\u00F2 chattare con altre persone che stanno attualmente elaborando questo corso.&lt;br /&gt;Lei \u00E8 connessa/o anonimamente a questo ambiente chat, pu\u00F2 per\u00F2 anche mostrare il Suo nome d'utente OLAT.
-course.groupchat=Ambiente chat\:
-coursechat.not.available=La chat di corso non \u00E8 attualmente disponibile. Riprovi pi\u00F9 tardi, p.f.
-coursechat.not.available.short=Chat non disponibile.
-groupchat.new.msg=Nuovi messaggi nella chat di corso\!
-groupchat.not.available=Chat non disponibile.
-groupchat.roster=Partecipanti
-im.conference.assessment.open=\u00C8 necessario chiudere tutti i test per potere entrare nell'ambiente chat.
-im.conference.maxi.intro=Qui pu\u00F2 chattare con altre persone di questo gruppo.
-im.conference.maxi.title=Ambiente chat
-im.conference.participants=Attualmente l'ambiente chat viene frequentato dalle persone seguenti\:
-im.refresh=Ricaricare
-im.refresh.auto=Il ricaricamento avviene automaticamente.
-init.messaging=init
-msg.send=Invia
-msg.send.error=Non \u00E8 stato possibile inviare il Suo messaggio. Riavvii il corso e riprovi, p.f.
-nobody=nessuno
-openChat=Entra nell'ambiente chat
-participants.in.chat=Entrare nella chat di corso ({0})
-toogle.anonymous=mostrare nomi d'utente in ambiente chat
-update.roster=update
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_jp.properties
deleted file mode 100644
index e952fb18db2fdf099bd1b9c81263c97c3f29fdf6..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_jp.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jul 06 21:09:52 CEST 2009
-coursechat.not.available=\u73FE\u5728\u3001\u30B3\u30FC\u30B9\u30C1\u30E3\u30C3\u30C8\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u5F8C\u307B\u3069\u3001\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002
-toogle.anonymous=\u30E6\u30FC\u30B6\u540D\u3092\u30C1\u30E3\u30C3\u30C8\u30EB\u30FC\u30E0\u306B\u8868\u793A\u3059\u308B
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_nl_NL.properties
deleted file mode 100644
index b35faef564f101aeed96468bb4219b545090da52..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_nl_NL.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#Thu Sep 08 16:42:46 CEST 2011
-chat.not.available.now=Deze chat is tijdelijk onbereikbaar. Gelieve het later opnieuw te proberen.
-click.to.join=Verbinden naar cursus-chat
-close=Sluiten
-close.connections=Sluit verbindingen...
-course.chat.click.to.join=In deze cursus-chat kunt u andere cursisten een bericht versturen als ook zelf berichten ontvangen.
-course.chat.intro=Hier kunt u chatten met mensen die op dit moment deze curus aan het editeren zijn.<br>U bent anoniem ingelogd. Hoewel, u kunt ook kiezen om uw OLAT gebruikersnaam te gebruiken in de plaats.<br> Als u weg wilt gaan moet u gewoon de cursus sluiten.
-course.groupchat=Chatroom\:
-coursechat.not.available=De cursus-chat is tijdelijk niet beschikbaar. Gelieve het later opniuew te proberen.
-coursechat.not.available.short=Chat niet beschikbaar.
-groupchat.new.msg=Nieuw bericht in cursus-chat\!
-groupchat.not.available=Chat niet beschikbaar.
-groupchat.roster=Deelnemers
-im.conference.assessment.open=Gelieve alle testen te sluiten voor u in een chatroom binnen gaat.
-im.conference.maxi.intro=Hier kunt u chatten met andere leden van de groep.
-im.conference.maxi.title=Chatroom
-im.conference.participants=Op dit moment gebruiken de volgende personen deze chat\:
-im.refresh=Weergave vernieuwen
-im.refresh.auto=Weergave zal automatisch herladen worden.
-init.messaging=Init
-msg.send=Versturen
-msg.send.error=Uw bericht kon niet verzonden worden. Gelieve deze cursus opnieuw te lanceren om het nog eens te proberen.
-nobody=Niemand
-openChat=Chatroom betreden
-participants.in.chat=Cursus-chat ({0}) betreden
-toogle.anonymous=Toon gebruikersnaam in chatroom
-update.roster=Update
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pl.properties
deleted file mode 100644
index bb8ae91ab6603efef1c27275c6a859758f6296c4..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pl.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Mon Mar 02 09:54:17 CET 2009
-click.to.join=Wejd\u017A do czatu kursu...
-close=Zamknij
-close.connections=Przerwij po\u0142\u0105czenia...
-course.chat.click.to.join=W czacie kursu mo\u017Cesz wysy\u0142a\u0107 i otrzymywa\u0107 wiadomo\u015Bci od pozosta\u0142ych uczestnik\u00F3w kursu.
-course.chat.intro=Tutaj mo\u017Cesz poczatowa\u0107 z u\u017Cytkownikami, kt\u00F3rzy w\u0142a\u015Bnie teraz ogl\u0105daj\u0105 ten kurs...&lt;br /&gt;Jeste\u015B zalogowany anonimowo. Mo\u017Cesz jednak zdecydowa\u0107 czy chcesz u\u017Cy\u0107 swojej nazwy u\u017Cytkownika OLAT.
-course.groupchat=Pok\u00F3j\:
-coursechat.not.available=Czat tego kursu jest chwilowo niedost\u0119pny. Spr\u00F3buj p\u00F3\u017Aniej...
-coursechat.not.available.short=Komunikator jest niedost\u0119pny.
-groupchat.new.msg=Nowa wiadomo\u015B\u0107 w pokoju czata tego kursu\!
-groupchat.not.available=Czat jest niedost\u0119pny.
-groupchat.roster=Uczestnicy
-im.conference.maxi.intro=Tutaj mo\u017Cesz poczatowa\u0107 z uczestnikami tej grupy...
-im.conference.maxi.title=Pok\u00F3j
-im.conference.participants=W tej chwili nast\u0119puj\u0105cy u\u017Cytkownicy s\u0105 w pokoju czata\:
-im.refresh=Od\u015Bwie\u017C
-im.refresh.auto=Automatyczne od\u015Bwie\u017Canie jest aktywne.
-init.messaging=Init
-msg.send=Wy\u015Blij
-msg.send.error=Twoja wiadomo\u015B\u0107 nie zosta\u0142a wys\u0142ana.
-nobody=Nikt
-openChat=Skorzystaj z komunikatora
-participants.in.chat=kursant\u00F3w na czacie
-toogle.anonymous=Poka\u017C nazw\u0119 u\u017Cytkownika
-update.roster=Aktualizacja
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_BR.properties
deleted file mode 100644
index 435c1ca69380481e32b6640dde06a14af908bf9c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_BR.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#Thu Sep 08 16:42:38 CEST 2011
-chat.not.available.now=Este chat est\u00E1 temporariamente indispon\u00EDvel. Por favor, tente novamente mais tarde.
-click.to.join=Entrar no chat do curso...
-close=Fechar
-close.connections=fechar conex\u00F5es...
-course.chat.click.to.join=Neste chat do curso voc\u00EA pode enviar e receber mensagens de outros participantes.
-course.chat.intro=Aqui voc\u00EA pode conversar com pessoas que est\u00E3o editando este curso agora.&lt;br /&gt;Voc\u00EA est\u00E1 logado anonimamente. Entretanto voc~e poder\u00E1 usar seu nome de usu\u00E1rio OLAT.
-course.groupchat=Sala de Chat\:
-coursechat.not.available=O chat do curso n\u00E3o est\u00E1 dispon\u00EDvel no momento. Tentar novamente mais tarde.
-coursechat.not.available.short=Chat indispon\u00EDvel.
-groupchat.new.msg=Nova mensagem no chat do curso\!
-groupchat.not.available=Chat indispon\u00EDvel.
-groupchat.roster=Participantes
-im.conference.assessment.open=Por favor, feche todos os testes antes de entrar em uma sala de chat.
-im.conference.maxi.intro=Aqui voc\u00EA pode conversar com outros membros deste grupo.
-im.conference.maxi.title=Sala de Chat
-im.conference.participants=No momento as seguintes pessoas est\u00E3o usando este chat\:
-im.refresh=Atualizar
-im.refresh.auto=A tela ser\u00E1 recarregada automaticamente.
-init.messaging=Iniciar
-msg.send=Enviar
-msg.send.error=Sua mensagem n\u00E3o p\u00F4de ser enviada. Relance o curso e tente novamente.
-nobody=Ningu\u00E9m
-openChat=Entrar na Sala de Chat
-participants.in.chat=Chat do curso
-toogle.anonymous=Mostrar nome de usu\u00E1rio na sala de chat
-update.roster=Alterar
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_PT.properties
deleted file mode 100644
index e1ffcab533c542ecce47f32265deb30e6d0873cc..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_pt_PT.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Mon Mar 02 09:54:05 CET 2009
-close=Fechar
-close.connections=fechar conex\u00F5es...
-course.chat.intro=Aqui voc\u00EA pode conversar com pessoas que est\u00E3o editando este curso agora.&lt;br /&gt;Voc\u00EA est\u00E1 logado anonimamente. Entretanto voc~e poder\u00E1 usar seu nome de usu\u00E1rio OLAT.
-course.groupchat=Sala de Chat\:
-coursechat.not.available=O chat do curso n\u00E3o est\u00E1 dispon\u00EDvel no momento. Tentar novamente mais tarde.
-coursechat.not.available.short=Chat indispon\u00EDvel.
-groupchat.new.msg=Nova mensagem no chat do curso\!
-groupchat.not.available=Chat indispon\u00EDvel.
-groupchat.roster=Participantes
-im.conference.maxi.intro=Aqui voc\u00EA pode conversar com outros membros deste grupo.
-im.conference.maxi.title=Sala de Chat
-im.conference.participants=No momento as seguintes pessoas est\u00E3o usando este chat\:
-im.refresh=Atualizar
-im.refresh.auto=A tela ser\u00E1 recarregada automaticamente.
-init.messaging=Iniciar
-msg.send=Enviar
-msg.send.error=Sua mensagem n\u00E3o p\u00F4de ser enviada. Relance o curso e tente novamente.
-nobody=Ningu\u00E9m
-openChat=Entrar na Sala de Chat
-participants.in.chat=Chat do curso
-toogle.anonymous=Mostrar nome de usu\u00E1rio na sala de chat
-update.roster=Alterar
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ru.properties
deleted file mode 100644
index c3082a3d6ca6c9b43014c149b220138f36488964..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_ru.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Sun Jan 24 09:02:39 CET 2010
-click.to.join=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0430\u0442 \u043A\u0443\u0440\u0441\u0430...
-close=\u0417\u0430\u043A\u0440\u044B\u0442\u044C
-close.connections=Close connections...
-course.chat.click.to.join=\u0412 \u0445\u043E\u0434\u0435 \u0447\u0430\u0442\u0430, \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0431\u043C\u0435\u043D\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u0430 \u0443\u0447\u0435\u0431\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430.
-course.chat.intro=\u0417\u0434\u0435\u0441\u044C \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0431\u0435\u0441\u0435\u0434\u043E\u0432\u0430\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0442\u0430\u043A \u0436\u0435 \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442 \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u0443\u0440\u0441 \u0432 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442. &lt;br /&gt;\u0412\u044B \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0435\u0441\u044C \u0432 \u044D\u0442\u043E\u0439 \u0447\u0430\u0442-\u043A\u043E\u043C\u043D\u0430\u0442\u0435 \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u044D\u0442\u043E\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u043D\u0430 \u0412\u0430\u0448\u0435 \u0438\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0435 OLAT.
-course.groupchat=\u041A\u043E\u043C\u043D\u0430\u0442\u0430 \u0447\u0430\u0442\u0430\:
-coursechat.not.available=\u0427\u0430\u0442 \u043A\u0443\u0440\u0441\u0430 \u0432 \u0434\u0430\u043D\u043D\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u041F\u043E\u043F\u044B\u0442\u0430\u0439\u0442\u0435\u0441\u044C \u043F\u043E\u0437\u0436\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430. 
-coursechat.not.available.short=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
-groupchat.new.msg=\u0412 \u0447\u0430\u0442\u0435 \u043A\u0443\u0440\u0441\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u043D\u043E\u0432\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\! 
-groupchat.not.available=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
-groupchat.roster=\u0423\u0447\u0430\u0441\u0442\u043D\u0438\u043A
-im.conference.maxi.intro=\u0417\u0434\u0435\u0441\u044C \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0431\u0435\u0441\u0435\u0434\u043E\u0432\u0430\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0447\u043B\u0435\u043D\u0430\u043C\u0438 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u044B.  
-im.conference.maxi.title=\u041A\u043E\u043C\u043D\u0430\u0442\u0430 \u0447\u0430\u0442\u0430
-im.conference.participants=\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0432 \u0447\u0430\u0442\u0435 \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438\: 
-im.refresh=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437 \u0437\u0430\u043D\u043E\u0432\u043E
-im.refresh.auto=\u041F\u043E\u043A\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D \u0437\u0430\u043D\u043E\u0432\u043E. 
-init.messaging=init
-msg.send=\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C
-msg.send.error=\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C. \u0427\u0442\u043E\u0431\u044B \u043F\u043E\u043F\u044B\u0442\u0430\u0442\u044C\u0441\u044F \u043E\u0442\u043E\u0441\u043B\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437, \u043E\u0442\u043A\u0440\u043E\u0439\u0442\u0435 \u043A\u0443\u0440\u0441 \u0437\u0430\u043D\u043E\u0432\u043E, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430. 
-nobody=\u043D\u0438\u043A\u043E\u0433\u043E
-openChat=\u0412\u043E\u0439\u0442\u0438 \u0432 \u043A\u043E\u043C\u043D\u0430\u0442\u0443 \u0447\u0430\u0442\u0430
-participants.in.chat=\u0432 \u043A\u0443\u0440\u0441-\u0447\u0430\u0442\u0435
-toogle.anonymous=\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043C\u0435\u043D\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 \u0432 \u043A\u043E\u043C\u043D\u0430\u0442\u0435 \u0447\u0430\u0442\u0430 
-update.roster=update
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_CN.properties
deleted file mode 100644
index c9cabb7aa72f0689e6774f803cd224547de891fe..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_CN.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Tue Feb 16 01:38:53 CET 2010
-click.to.join=\u8FDB\u5165\u5B66\u7A0B\u804A\u5929\u5BA4...
-close=\u5173\u95ED
-close.connections=\u65AD\u5F00\u8FDE\u63A5...
-course.chat.click.to.join=\u5728\u6B64\u5B66\u7A0B\u804A\u5929\u5BA4\u4E2D\uFF0C\u60A8\u53EF\u4EE5\u5411\u5176\u4ED6\u7684\u5B66\u7A0B\u53C2\u4E0E\u8005\u53D1\u9001\u548C\u63A5\u53D7\u6D88\u606F\u3002
-course.chat.intro=\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u4E0E\u5176\u4ED6\u6B63\u5728\u7F16\u8F91\u6B64\u5B66\u7A0B\u7684\u4EBA\u8FDB\u884C\u4EA4\u8C08\u3002<br>\u60A8\u53EF\u4EE5\u533F\u540D\u767B\u9646\u4E5F\u53EF\u4F7F\u7528\u7528\u6237\u540D\u767B\u9646\u3002<br>\u5982\u679C\u60A8\u60F3\u79BB\u5F00\uFF0C\u53EA\u9700\u5173\u95ED\u60A8\u7684\u5B66\u7A0B\u3002
-course.groupchat=\u804A\u5929\u5BA4\:
-coursechat.not.available=\u5B66\u7A0B\u804A\u5929\u73B0\u5728\u65E0\u6CD5\u4F7F\u7528\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002
-coursechat.not.available.short=\u804A\u5929\u529F\u80FD\u4E0D\u53EF\u7528\u3002
-groupchat.new.msg=\u5B66\u7A0B\u804A\u5929\u5BA4\u6709\u65B0\u6D88\u606F\uFF01
-groupchat.not.available=\u804A\u5929\u529F\u80FD\u4E0D\u53EF\u7528\u3002
-groupchat.roster=\u53C2\u4E0E\u8005
-im.conference.maxi.intro=\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u4E0E\u8BE5\u7FA4\u7EC4\u7684\u5176\u4ED6\u6210\u5458\u8FDB\u884C\u804A\u5929\u3002
-im.conference.maxi.title=\u804A\u5929\u5BA4
-im.conference.participants=\u6B64\u523B\uFF0C\u4EE5\u4E0B\u7528\u6237\u5728\u4F7F\u7528\u6B64\u804A\u5929\u5BA4\uFF1A
-im.refresh=\u5237\u65B0\u663E\u793A
-im.refresh.auto=\u81EA\u52A8\u91CD\u65B0\u52A0\u8F7D\u663E\u793A\u3002
-init.messaging=\u521D\u59CB\u5316
-msg.send=\u53D1\u9001
-msg.send.error=\u65E0\u6CD5\u53D1\u9001\u60A8\u7684\u4FE1\u606F\u3002\u8BF7\u91CD\u65B0\u8F7D\u5165\u6B64\u5B66\u7A0B\u540E\u91CD\u8BD5\u3002
-nobody=\u65E0\u4EBA
-openChat=\u8FDB\u5165\u804A\u5929\u5BA4
-participants.in.chat=\u5728\u5B66\u7A0B\u804A\u5929\u5BA4\u5185\u90E8\u4EA4\u8C08
-toogle.anonymous=\u5728\u804A\u5929\u5BA4\u4E2D\u663E\u793A\u7528\u6237\u540D
-update.roster=\u5347\u7EA7
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_TW.properties
deleted file mode 100644
index bfb1ee2b6d5b8c99a66030c72bda12e3a644e0d0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/LocalStrings_zh_TW.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Mon Jan 18 16:42:59 CET 2010
-click.to.join=\u9032\u5165\u8AB2\u7A0B\u804A\u5929\u5BA4...
-close=\u95DC\u9589
-close.connections=\u95DC\u9589\u9023\u7DDA...
-course.chat.click.to.join=\u5728\u9019\u500B\u8AB2\u7A0B\u804A\u5929\u5BA4\u88E1\u60A8\u53EF\u4EE5\u767C\u9001\u8A0A\u606F\u7D66\u5176\u4ED6\u8AB2\u7A0B\u53C3\u8207\u8005\u4EE5\u53CA\u63A5\u6536\u8A0A\u606F\u3002
-course.chat.intro=\u5728\u6B64\u60A8\u53EF\u4EE5\u8DDF\u76EE\u524D\u6B63\u5728\u7DE8\u8F2F\u9019\u500B\u8AB2\u7A0B\u7684\u4F7F\u7528\u8005\u804A\u5929\u3002&lt;br /&gt;\u60A8\u73FE\u5728\u662F\u533F\u540D\u767B\u5165\u3002 \u7136\u800C\uFF0C\u60A8\u53EF\u4EE5\u6C7A\u5B9A\u7528\u60A8\u7684 OLAT \u4F7F\u7528\u8005\u540D\u7A31\u3002
-course.groupchat=\u804A\u5929\u5BA4\uFF1A
-coursechat.not.available=\u6C92\u6709\u53EF\u7528\u7684\u8AB2\u7A0B\u804A\u5929\u5BA4\u3002 \u8ACB\u7A0D\u5F8C\u5728\u8A66\u3002
-coursechat.not.available.short=\u6C92\u6709\u53EF\u7528\u7684\u804A\u5929\u5BA4\u3002
-groupchat.new.msg=\u8AB2\u7A0B\u804A\u5929\u5BA4\u5167\u7684\u65B0\u8A0A\u606F\uFF01
-groupchat.not.available=\u6C92\u6709\u53EF\u7528\u7684\u804A\u5929\u5BA4\u3002
-groupchat.roster=\u53C3\u8207\u8005
-im.conference.maxi.intro=\u5728\u6B64\u60A8\u53EF\u4EE5\u8DDF\u9019\u500B\u7FA4\u7D44\u5167\u7684\u5176\u4ED6\u6210\u54E1\u804A\u5929\u3002
-im.conference.maxi.title=\u804A\u5929\u5BA4
-im.conference.participants=\u76EE\u524D\u6709\u4E0B\u5217\u4F7F\u7528\u8005\u5728\u4F7F\u7528\u804A\u5929\u5BA4\uFF1A
-im.refresh=\u91CD\u5148\u6574\u7406\u986F\u793A
-im.refresh.auto=\u986F\u793A\u5C07\u88AB\u81EA\u52D5\u91CD\u65B0\u8F09\u5165\u3002
-init.messaging=\u521D\u59CB\u5316
-msg.send=\u9001\u51FA
-msg.send.error=\u60A8\u7684\u8A0A\u606F\u7121\u6CD5\u767C\u9001\u3002 \u8ACB\u91CD\u65B0\u555F\u52D5\u9019\u500B\u8AB2\u7A0B\u518D\u8A66\u4E00\u6B21\u3002
-nobody=\u6C92\u6709\u4EBA
-openChat=\u9032\u5165\u804A\u5929\u5BA4
-participants.in.chat=\u5728\u8AB2\u7A0B\u804A\u5929\u5BA4
-toogle.anonymous=\u986F\u793A\u804A\u5929\u5BA4\u5167\u7684\u4F7F\u7528\u8005\u540D\u7A31
-update.roster=\u66F4\u65B0
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/i18nBundleMetadata.properties b/src/main/java/org/olat/instantMessaging/groupchat/_i18n/i18nBundleMetadata.properties
deleted file mode 100644
index cb89d923cdc7a110376b114544c163f3f4825f80..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/groupchat/_i18n/i18nBundleMetadata.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Sun Jan 09 12:17:06 CET 2011
-bundle.priority=600
-click.to.join.annotation=change in English
-participants.in.chat.annotation=change in English
diff --git a/src/main/java/org/olat/instantMessaging/manager/InstantMessageDAO.java b/src/main/java/org/olat/instantMessaging/manager/InstantMessageDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..b1688025f1ddd53788535feeebd165c0b8f83950
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/manager/InstantMessageDAO.java
@@ -0,0 +1,61 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.manager;
+
+import java.util.Date;
+import java.util.List;
+
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.id.Identity;
+import org.olat.instantMessaging.InstantMessage;
+import org.olat.instantMessaging.model.InstantMessageImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class InstantMessageDAO {
+	
+	@Autowired
+	private DB dbInstance;
+	
+	public InstantMessage createMessage(Identity from, String body) {
+		InstantMessageImpl msg = new InstantMessageImpl();
+		msg.setBody(body);
+		msg.setFrom(from);
+		msg.setCreationDate(new Date());
+		dbInstance.getCurrentEntityManager().persist(msg);
+		return msg;
+	}
+
+	public InstantMessage loadMessageById(Long key) {
+		StringBuilder sb = new StringBuilder();
+		sb.append("select msg from ").append(InstantMessageImpl.class.getName()).append(" msg ")
+		  .append(" where msg.key=:key");
+		
+		List<InstantMessage> msgs = dbInstance.getCurrentEntityManager().createQuery(sb.toString(), InstantMessage.class)
+				.setParameter("key", key)
+				.getResultList();
+		
+		if(msgs.isEmpty()) {
+			return null;
+		}
+		return msgs.get(0);
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/manager/InstantMessagePreferencesDAO.java b/src/main/java/org/olat/instantMessaging/manager/InstantMessagePreferencesDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..26a524ed9612f25540a6b23b6ddaaf38a9fda62c
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/manager/InstantMessagePreferencesDAO.java
@@ -0,0 +1,64 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.manager;
+
+import java.util.Date;
+import java.util.List;
+
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.id.Identity;
+import org.olat.instantMessaging.model.ImPreferencesImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+@Service
+public class InstantMessagePreferencesDAO {
+	
+	@Autowired
+	private DB dbInstance;
+	
+	public ImPreferencesImpl createPreferences(Identity from) {
+		ImPreferencesImpl msg = new ImPreferencesImpl();
+		msg.setCreationDate(new Date());
+		dbInstance.getCurrentEntityManager().persist(msg);
+		return msg;
+	}
+
+	public ImPreferencesImpl getPreferences(Identity from) {
+		StringBuilder sb = new StringBuilder();
+		sb.append("select msg from ").append(ImPreferencesImpl.class.getName()).append(" msg ")
+		  .append(" where msg.identity.key=:identityKey");
+		
+		List<ImPreferencesImpl> msgs = dbInstance.getCurrentEntityManager().createQuery(sb.toString(), ImPreferencesImpl.class)
+				.setParameter("identityKey", from.getKey())
+				.getResultList();
+		
+		if(msgs.isEmpty()) {
+			return null;
+		}
+		return msgs.get(0);
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java b/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..3b4020f7dcdae3d5ae92ad2251b2cd9c0a3b3207
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java
@@ -0,0 +1,177 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.manager;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.olat.basesecurity.BaseSecurity;
+import org.olat.basesecurity.IdentityShort;
+import org.olat.core.id.Identity;
+import org.olat.core.id.OLATResourceable;
+import org.olat.core.manager.BasicManager;
+import org.olat.core.util.coordinate.CoordinatorManager;
+import org.olat.core.util.event.GenericEventListener;
+import org.olat.core.util.resource.OresHelper;
+import org.olat.core.util.session.UserSessionManager;
+import org.olat.group.BusinessGroupService;
+import org.olat.instantMessaging.ImPreferences;
+import org.olat.instantMessaging.InstantMessage;
+import org.olat.instantMessaging.InstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.model.Buddy;
+import org.olat.user.UserManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+@Service
+public class InstantMessagingServiceImpl extends BasicManager implements InstantMessagingService {
+	
+	@Autowired
+	private InstantMessageDAO imDao;
+	@Autowired
+	private InstantMessagePreferencesDAO prefsDao;
+	@Autowired
+	private CoordinatorManager coordinator;
+	@Autowired
+	private BusinessGroupService businessGroupService;
+	@Autowired
+	private UserManager userManager;
+	@Autowired
+	private UserSessionManager sessionManager;
+	@Autowired
+	private BaseSecurity securityManager;
+
+	
+	@Override
+	public String getStatus(Long identityKey) {
+		return "available";
+	}
+
+	@Override
+	public ImPreferences getImPreferences(Identity identity) {
+		return prefsDao.getPreferences(identity);
+	}
+
+	@Override
+	public void updateImPreferences(Identity identity, boolean visible, boolean onlineTime) {
+		//
+	}
+
+	@Override
+	public void updateStatus(Identity identity, String status) {
+		//
+	}
+
+	@Override
+	public int getNumOfconnectedUsers() {
+		return 0;
+	}
+
+	@Override
+	public InstantMessage getMessageById(Long messageId) {
+		return imDao.loadMessageById(messageId);
+	}
+
+	@Override
+	public InstantMessage createMessage(Identity from, String body) {
+		return imDao.createMessage(from, body);
+	}
+
+	@Override
+	public InstantMessage sendMessage(Identity from, String body, OLATResourceable to) {
+		InstantMessage message = imDao.createMessage(from, body);
+		InstantMessagingEvent event = new InstantMessagingEvent("message");
+		event.setFromId(from.getKey());
+		event.setMessageId(message.getKey());
+		
+		//reverse the target as the target listen to me
+		if("Buddy".equals(to.getResourceableTypeName())
+				&& !from.getKey().equals(to.getResourceableId())) {
+			to = OresHelper.createOLATResourceableInstance("Buddy", from.getKey());
+		}
+		coordinator.getCoordinator().getEventBus().fireEventToListenersOf(event, to);
+		return message;
+	}
+	
+	@Override
+	public Buddy getBuddyById(Long identityKey) {
+		IdentityShort identity = securityManager.loadIdentityShortByKey(identityKey);
+		String fullname = userManager.getUserDisplayName(identity);
+		return new Buddy(identity.getKey(), fullname);
+	}
+
+	@Override
+	public List<Buddy> getBuddies(Identity me) {
+		List<Identity> contacts = businessGroupService.findContacts(me, 0, -1);
+		List<Buddy> buddies = new ArrayList<Buddy>();
+		for(Identity contact:contacts) {
+			String fullname = userManager.getUserDisplayName(contact.getUser());
+			buddies.add(new Buddy(contact.getKey(), fullname));
+		}
+		return buddies;
+	}
+
+	@Override
+	public List<Buddy> getBuddiesListenTo(OLATResourceable chatResource) {
+		Set<String> names = coordinator.getCoordinator().getEventBus().getListeningIdentityNamesFor(chatResource);
+		List<Identity> identities = securityManager.findIdentitiesByName(names);
+		List<Buddy> buddies = new ArrayList<Buddy>();
+		for(Identity identity:identities) {
+			String fullname = userManager.getUserDisplayName(identity.getUser());
+			buddies.add(new Buddy(identity.getKey(), fullname));
+		}
+		return buddies;
+		
+	}
+
+	@Override
+	public void listenChat(Identity identity, OLATResourceable chatResource, GenericEventListener listener) {
+		coordinator.getCoordinator().getEventBus().registerFor(listener, identity, chatResource);
+	}
+
+	@Override
+	public void unlistenChat(OLATResourceable chatResource, GenericEventListener listener) {
+		coordinator.getCoordinator().getEventBus().deregisterFor(listener, chatResource);
+	}
+
+	@Override
+	public void disableChat(Identity identity) {
+		//
+	}
+
+	@Override
+	public void enableChat(Identity identity) {
+		//
+	}
+	
+	
+
+	
+
+
+}
diff --git a/src/main/java/org/olat/instantMessaging/model/Buddy.java b/src/main/java/org/olat/instantMessaging/model/Buddy.java
new file mode 100644
index 0000000000000000000000000000000000000000..9abbcd994da074bfab341317e62562895f85360b
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/model/Buddy.java
@@ -0,0 +1,97 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.model;
+
+import org.olat.core.id.OLATResourceable;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class Buddy implements OLATResourceable, Comparable<Buddy> {
+
+	private final Long identityKey;
+	private final String fullname;
+	
+	public Buddy(Long identityKey, String fullname) {
+		this.identityKey = identityKey;
+		this.fullname = fullname;
+	}
+	
+	public String getStatus() {
+		return "available";
+	}
+
+	public Long getIdentityKey() {
+		return identityKey;
+	}
+
+
+	public String getFullname() {
+		return fullname;
+	}
+
+	@Override
+	public String getResourceableTypeName() {
+		return "Buddy";
+	}
+
+	@Override
+	public Long getResourceableId() {
+		return identityKey;
+	}
+
+	@Override
+	public int compareTo(Buddy o) {
+		if(o == null) return -1;
+		int result = 0;
+		if(fullname != null && o.fullname != null) {
+			result = fullname.compareTo(o.fullname);
+		}
+		if(result == 0 && identityKey != null && o.identityKey != null) {
+			result = identityKey.compareTo(o.identityKey);
+		}
+		return result;
+	}
+
+	@Override
+	public int hashCode() {
+		return identityKey == null ? 934785 : identityKey.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if(obj == this) {
+			return true;
+		}
+		if(obj instanceof Buddy) {
+			Buddy b = (Buddy)obj;
+			return identityKey != null && identityKey.equals(b.identityKey);
+		}	
+		return false;
+	}
+
+	@Override
+	public String toString() {
+		return "buddy[identityKey=" + identityKey + ":fullname=" + fullname + "]";
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/model/ImPreferencesImpl.java b/src/main/java/org/olat/instantMessaging/model/ImPreferencesImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..c43eb549c77f5b483f05a955cdbea62359f06fb5
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/model/ImPreferencesImpl.java
@@ -0,0 +1,173 @@
+/**
+* OLAT - Online Learning and Training<br>
+* http://www.olat.org
+* <p>
+* Licensed under the Apache License, Version 2.0 (the "License"); <br>
+* you may not use this file except in compliance with the License.<br>
+* You may obtain a copy of the License at
+* <p>
+* http://www.apache.org/licenses/LICENSE-2.0
+* <p>
+* Unless required by applicable law or agreed to in writing,<br>
+* software distributed under the License is distributed on an "AS IS" BASIS, <br>
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+* See the License for the specific language governing permissions and <br>
+* limitations under the License.
+* <p>
+* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+* University of Zurich, Switzerland.
+* <hr>
+* <a href="http://www.openolat.org">
+* OpenOLAT - Online Learning and Training</a><br>
+* This file has been modified by the OpenOLAT community. Changes are licensed
+* under the Apache 2.0 license as the original file.  
+* <p>
+*/ 
+
+package org.olat.instantMessaging.model;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.olat.basesecurity.IdentityImpl;
+import org.olat.core.id.CreateInfo;
+import org.olat.core.id.Identity;
+import org.olat.core.id.Persistable;
+import org.olat.instantMessaging.ImPreferences;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+@Entity
+@Table(name="o_im_preferences")
+public class ImPreferencesImpl implements ImPreferences, Persistable, CreateInfo {
+
+	private static final long serialVersionUID = -7269061512818714778L;
+
+	@Id
+  @GeneratedValue(generator = "system-uuid")
+  @GenericGenerator(name = "system-uuid", strategy = "hilo")
+	@Column(name="id", nullable=false, unique=true, insertable=true, updatable=false)
+	private Long key;
+	
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column(name="creationdate", nullable=false, insertable=true, updatable=false)
+	private Date creationDate;
+	
+	@OneToOne(targetEntity=IdentityImpl.class, cascade={})
+	@JoinColumn(name="fk_from_identity_id", nullable=false, insertable=true, updatable=false)
+	private Identity identity;
+
+	@Column(name="visible_to_others", nullable=true, insertable=true, updatable=true)
+	private boolean visibleToOthers;
+
+	@Column(name="online_time_visible", nullable=true, insertable=true, updatable=true)
+	private boolean onlineTimeVisible;
+
+	@Column(name="roster_def_status", nullable=true, insertable=true, updatable=true)
+	private String rosterDefaultStatus;
+
+	public ImPreferencesImpl() {
+		//
+	}
+
+	public Long getKey() {
+		return key;
+	}
+
+	public void setKey(Long key) {
+		this.key = key;
+	}
+
+	public Date getCreationDate() {
+		return creationDate;
+	}
+
+	public void setCreationDate(Date creationDate) {
+		this.creationDate = creationDate;
+	}
+
+	public Identity getIdentity() {
+		return identity;
+	}
+
+	public void setIdentity(Identity identity) {
+		this.identity = identity;
+	}
+
+	/**
+	 * 
+	 * @return boolean true if this user is visible on the onlinelist to other users
+	 */
+	public boolean isVisibleToOthers(){
+    return visibleToOthers;
+	}
+	/**
+	 * @param isVisible
+	 */
+	public void setVisibleToOthers(boolean isVisible){
+		this.visibleToOthers = isVisible;
+	}
+	
+	/**
+	 * 
+	 * @return boolean isOnlineVisible
+	 */
+	public boolean isOnlineTimeVisible(){
+	    return onlineTimeVisible;
+	}
+	/**
+	 * @param isVisible
+	 */
+	public void setOnlineTimeVisible(boolean isVisible){
+		this.onlineTimeVisible = isVisible;
+	}
+
+	/**
+	 * @return the default status 
+	 */
+	public String getRosterDefaultStatus(){
+		return rosterDefaultStatus;
+	}
+	
+	public void setRosterDefaultStatus(String defaultStatus) {
+		this.rosterDefaultStatus = defaultStatus;
+	}
+	
+	@Override
+	public int hashCode() {
+		return key == null ? -23984 : key.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if(this == obj) {
+			return true;
+		}
+		if(obj instanceof ImPreferencesImpl) {
+			ImPreferencesImpl prefs = (ImPreferencesImpl)obj;
+			return key != null && key.equals(prefs.key);
+		}
+		return false;
+	}
+
+	@Override
+	public boolean equalsByPersistableKey(Persistable persistable) {
+		return equals(persistable);
+	}
+	
+	
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/model/InstantMessageImpl.java b/src/main/java/org/olat/instantMessaging/model/InstantMessageImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..b099df67eb1659fe56ab299aa2062b84b4bb78fa
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/model/InstantMessageImpl.java
@@ -0,0 +1,125 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.model;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.olat.basesecurity.IdentityImpl;
+import org.olat.core.id.CreateInfo;
+import org.olat.core.id.Identity;
+import org.olat.core.id.Persistable;
+import org.olat.instantMessaging.InstantMessage;
+
+/**
+ * 
+ * Initial date: 04.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+@Entity
+@Table(name="o_im_message")
+public class InstantMessageImpl implements InstantMessage, Persistable, CreateInfo {
+	
+	private static final long serialVersionUID = 1425964260797865080L;
+	
+	@Id
+  @GeneratedValue(generator = "system-uuid")
+  @GenericGenerator(name = "system-uuid", strategy = "hilo")
+	@Column(name="id", nullable=false, unique=true, insertable=true, updatable=false)
+	private Long key;
+	
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column(name="creationdate", nullable=false, insertable=true, updatable=false)
+	private Date creationDate;
+	
+	@OneToOne(targetEntity=IdentityImpl.class, cascade={})
+	@JoinColumn(name="fk_from_identity_id", nullable=false, insertable=true, updatable=false)
+	private Identity from;
+
+	@Column(name="msgbody", nullable=false, insertable=true, updatable=false)
+	private String body;
+
+	@Override
+	public Long getKey() {
+		return key;
+	}
+
+	public void setKey(Long key) {
+		this.key = key;
+	}
+
+	@Override
+	public Date getCreationDate() {
+		return creationDate;
+	}
+
+	public void setCreationDate(Date creationDate) {
+		this.creationDate = creationDate;
+	}
+
+	public Identity getFrom() {
+		return from;
+	}
+
+	public void setFrom(Identity from) {
+		this.from = from;
+	}
+
+	public String getBody() {
+		return body;
+	}
+
+	public void setBody(String body) {
+		this.body = body;
+	}
+
+	@Override
+	public int hashCode() {
+		return key == null ? 92867 : key.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if(this == obj) {
+			return true;
+		}
+		if(obj instanceof InstantMessageImpl) {
+			InstantMessageImpl msg = (InstantMessageImpl)obj;
+			return key != null && key.equals(msg.key);
+		}
+		return false;
+	}
+
+	@Override
+	public boolean equalsByPersistableKey(Persistable persistable) {
+		return equals(persistable);
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/CloseConnectionTask.java b/src/main/java/org/olat/instantMessaging/model/Presence.java
similarity index 51%
rename from src/main/java/org/olat/instantMessaging/CloseConnectionTask.java
rename to src/main/java/org/olat/instantMessaging/model/Presence.java
index 4b79b0de509dd0bd1cdb0337ddb156456cb13cc4..623e8b92e3239d99be824053f7ac84643eaf7c08 100644
--- a/src/main/java/org/olat/instantMessaging/CloseConnectionTask.java
+++ b/src/main/java/org/olat/instantMessaging/model/Presence.java
@@ -17,34 +17,61 @@
  * frentix GmbH, http://www.frentix.com
  * <p>
  */
-package org.olat.instantMessaging;
+package org.olat.instantMessaging.model;
 
-import org.jivesoftware.smack.XMPPConnection;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-
-/**
- * 
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public class CloseConnectionTask implements Runnable {
+public class Presence {
+	
+	private Type type;
+	private Mode mode;
+	private String status;
+	private int priority;
+	
+	public Presence(Type type) {
+		this.type = type;
+	}
 	
-	private OLog log = Tracing.createLoggerFor(CloseConnectionTask.class);
+	public Type getType() {
+		return type;
+	}
 	
-	private final XMPPConnection connectionToClose;
+	public void setType(Type type) {
+		this.type = type;
+	}
+
+	public Mode getMode() {
+		return mode;
+	}
+
+	public void setMode(Mode mode) {
+		this.mode = mode;
+	}
+
+	public int getPriority() {
+		return priority;
+	}
+
+	public void setPriority(int priority) {
+		this.priority = priority;
+	}
+
+	public String getStatus() {
+		return status;
+	}
 	
-	protected CloseConnectionTask(XMPPConnection connectionToClose) {
-		this.connectionToClose = connectionToClose;
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public enum Mode {
+		available,
+		dnd,
+		unavailable
 	}
 	
-	public void run() {
-		try {
-			if (connectionToClose != null && connectionToClose.isConnected()){
-				connectionToClose.disconnect();
-			}
-		} catch (RuntimeException e) {
-			log.warn("Error while trying to close instant messaging connection", e);
-		}
+	public enum Type {
+		available,
+		unavailable,
+		subscribe
 	}
 
 }
diff --git a/src/main/java/org/olat/instantMessaging/package.html b/src/main/java/org/olat/instantMessaging/package.html
deleted file mode 100644
index 0a56298d146d4165390ed42d435c8e831c1ab232..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/package.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<html><body>
-<p>Package that implements Instant Messaging tools.</p>
-
-<ul>
-<li></li>
-</ul>
-
-<p>Further information on the features and theoretical background of applying Instant Messaging tools to 
-a web-based learning environment you can find inside the master thesis of Guido Schnider called:
-Instant Messaging Technologies in Learning Management Systems. The thesis you can find on the olat.org website.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/ChangePresenceJob.java b/src/main/java/org/olat/instantMessaging/rosterandchat/ChangePresenceJob.java
deleted file mode 100644
index 3d1b478ee37e8f8890c43b9a39410dd1325443d4..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/ChangePresenceJob.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.servlet.http.HttpSession;
-
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.CoreSpringFactory;
-import org.olat.core.commons.scheduler.JobWithDB;
-import org.olat.core.util.SessionInfo;
-import org.olat.core.util.UserSession;
-import org.olat.core.util.session.UserSessionManager;
-import org.olat.instantMessaging.ClientManager;
-import org.olat.instantMessaging.InstantMessagingClient;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-/**
- * Description:<br />
- * changes the IM presence to away if a user has not clicked in the olat gui for a certain time
- * <P>
- * Initial Date: 18.05.2007 <br />
- * 
- * @author guido
- */
-public class ChangePresenceJob extends JobWithDB  {
-
-	/**
-	 * TODO:gs:a make this properties writable by jmx or by setting it via admin gui
-	 * that we can kick out users to free resources if needed
-	 */
-	private long idleWaitTime;
-	private static long autoLogOutCutTime;
-	private static boolean initializedAutoLogOutCutTime = false;
-	
-	@Override
-	public void executeWithDB(JobExecutionContext arg0)
-			throws JobExecutionException {
-	   	try{	
-		Long timeNow = System.currentTimeMillis();
-
-		UserSessionManager sessionManager = CoreSpringFactory.getImpl(UserSessionManager.class);
-		Collection<UserSession> authUserSessions = sessionManager.getAuthenticatedUserSessions();
-		for (Iterator<UserSession> iter = authUserSessions.iterator(); iter.hasNext();) {
-			UserSession session = iter.next();
-			long lastAccessTime = 0;
-			String username = null;
-			InstantMessagingClient client = null;
-			boolean isWebDavOrRest = false;
-			try {
-				lastAccessTime = session.getSessionInfo().getLastClickTime();
-				username = session.getIdentity().getName();
-				isWebDavOrRest = session.getSessionInfo().isWebDAV() || session.getSessionInfo().isREST();
-			} catch (Exception e) {
-				log.info("Tried to get LastAccessTime from session that became in the meantime invalid", e.toString());
-			}
-			if (!isWebDavOrRest) { // leave webdav sessions untouched
-
-				if (InstantMessagingModule.isEnabled()) {
-					// avoid reconnection of dead or duplicate sessions
-					ClientManager mgr = InstantMessagingModule.getAdapter().getClientManager();
-					if (username != null && mgr.hasActiveInstantMessagingClient(username)) client = mgr.getInstantMessagingClient(username);
-					if (log.isDebug()) {
-						if (client != null) log.debug("Fetched im client via mangager. Connections status is - connected=" + client.isConnected()
-								+ " for user: " + client.getUsername());
-						else log.debug("Could not fetch IM client for user: " + username);
-					}
-				}
-				
-				if (session != null) {
-					if ((timeNow - lastAccessTime) > autoLogOutCutTime) {
-						try {
-							// brasato:::: since tomcat doesn't do this in its normal
-								// session invalidation process,
-								// (since polling), we must do it manually.
-								// But: it does not belong here (must work also without IM, but
-								// with polling)
-								// brasato:: alternative: instead of a job, generate a timer
-								// which rechecks if clicked within 5 mins ??
-
-								// TODO: that presence change stuff should also be moved to the
-								// IMManager...
-								// invalidation triggers dispose of controller chain and closes
-								// IM
-								// and removes IM client
-							try {
-								SessionInfo sessionInfo = session.getSessionInfo();
-								if (sessionInfo!=null) {
-									HttpSession session2 = sessionInfo.getSession();
-									if (session2!=null) {
-										session2.invalidate();
-									}
-								}
-							} catch (IllegalStateException ise) {
-								// ignore since session already closed by user, see javadoc:
-								// "    Throws: java.lang.IllegalStateException - if this method is called on an already invalidated session"
-							}
-							log.audit("Automatically logged out idle user: " + username);
-						} catch (Exception e) {
-							log.warn("Error while automatically logging out user: " + username, e);
-						}
-					} else if ((timeNow - lastAccessTime) > idleWaitTime) {
-						/**
-						 * uses makes a brake
-						 * last access was more than five minutes ago
-						 * so set instant messaging presence to away
-						 */
-						if (InstantMessagingModule.isEnabled()) {
-							if ((client != null && client.isConnected())
-									&& (client.getPresenceMode() == Presence.Mode.available || client.getPresenceMode() == Presence.Mode.chat)) {
-								client.sendPresenceAutoStatusIdle();
-								// inform the GUI
-								InstantMessagingModule.getAdapter().getClientManager().sendPresenceEvent(Presence.Type.available, username);
-								if (log.isDebug()) {
-									log.debug("change presence for user " + client.getUsername() + " to away.");
-								}
-							}
-						}
-					} else {
-						/**
-						 * 
-						 * user is back on track
-						 * send presence message available to inform
-						 * 
-						 */
-						if (InstantMessagingModule.isEnabled()) {
-							if ((client != null && client.isConnected())
-									&& (client.getPresenceMode() == Presence.Mode.away || client.getPresenceMode() == Presence.Mode.xa)) {
-								client.sendPresence(Presence.Type.available, null, 0, Presence.Mode.valueOf(client.getRecentPresenceStatusMode()));
-								// inform the GUI
-								InstantMessagingModule.getAdapter().getClientManager().sendPresenceEvent(Presence.Type.available, username);
-								if (log.isDebug()) {
-									log.debug("change presence for user " + client.getUsername() + " back to recent presence.");
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		authUserSessions.clear();
-		} catch (Throwable th) {
-			//Presence Job can not fail - as it is responsible for kicking out people.
-			log.error("PReSeNCe JoB FaiLuRe!! continue!!!", th);
-		}
-	}
-
-	public long getAutoLogOutCutTime() {
-		return autoLogOutCutTime;
-	}
-/**
- *  @@org.springframework.jmx.export.metadata.ManagedAttribute
- 	(description="Set the time a user gets automatically logged out even if he still has an active session")
-
- * @param autoLogOutCutTime
- */
-	public void setInitialAutoLogOutCutTime(long initialAutoLogOutCutTime) {
-		// Initialize static value only once because setInitialAutoLogOutCutTime is called at each ChangePresenceJob-run
-		if (!initializedAutoLogOutCutTime) {
-			autoLogOutCutTime = initialAutoLogOutCutTime;
-			initializedAutoLogOutCutTime = true;
-		}
-	}
-
-	/**
-	 *  @@org.springframework.jmx.export.metadata.ManagedAttribute
- 	(description="Set the time a users instant messaging status
- 	 gets automatically switched into idle status")
-	 * @param idleWaitTime
-	 */
-	public void setIdleWaitTime(long idleWaitTime) {
-		this.idleWaitTime = idleWaitTime;
-	}
-	
-	/**
-	 * Static method to set autoLogOutCutTime used by AdminModule.
-	 * Set non-static methot 
-	 * @param newValue
-	 */
-	public static void setAutoLogOutCutTimeValue(long newValue) {
-		autoLogOutCutTime = newValue;
-	}
-
-	public static long getAutoLogOutCutTimeValue() {
-		return autoLogOutCutTime;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/ChatController.java b/src/main/java/org/olat/instantMessaging/rosterandchat/ChatController.java
deleted file mode 100644
index 0ace3fb3da1b8fb70d17d79a5862ba2ce7c3b8a0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/ChatController.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.packet.Message;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
-import org.olat.core.gui.components.panel.Panel;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.floatingresizabledialog.FloatingResizableDialogController;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.util.event.EventBus;
-import org.olat.core.util.event.GenericEventListener;
-import org.olat.core.util.event.MultiUserEvent;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.instantMessaging.ClientHelper;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingEvent;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.groupchat.SendMessageForm;
-
-/**
- * Description:<br />
- * Controller for a single Chat in a floating window
- * 
- * <P>
- * Initial Date:  13.07.2007 <br />
- * @author guido
- */
-public class ChatController extends BasicController implements GenericEventListener{
-
-	private SendMessageForm sendMessageForm;
-	private VelocityContainer chatContent = createVelocityContainer("chat");
-	private VelocityContainer chatMsgFieldContent = createVelocityContainer("chatMsgField");
-	private Panel chatMsgFieldPanel;
-	private Chat chatManager;
-	private String chatPartnerJid;
-	private String username;
-	private StringBuilder messageHistory = new StringBuilder();
-	private Locale locale;
-	private FloatingResizableDialogController chatPanelCtr;
-	private String userJid;
-	private JSAndCSSComponent jsc;
-	private Link refresh;
-	
-	private String jsTweakCmd = "";
-	private String jsFocusCmd = "";
-	
-	private List<String> allChats;
-	private EventBus singleUserEventCenter;
-	
-	public ChatController(UserRequest ureq, WindowControl wControl, String chatPartnerJid, int offsetX, int offsetY, Message initialMessage) {
-		super(ureq, wControl);
-		this.chatPartnerJid = chatPartnerJid;
-		this.locale = ureq.getLocale();
-		this.username = getIdentity().getName();
-		
-		this.singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
-		allChats = (List<String>) ureq.getUserSession().getEntry("chats");
-		if (allChats == null) {
-			allChats = new ArrayList<String>();
-			ureq.getUserSession().putEntry("chats", allChats);
-		}
-		allChats.add(Integer.toString(hashCode()));
-		singleUserEventCenter.fireEventToListenersOf(new MultiUserEvent("ChatWindowOpened"), OresHelper.createOLATResourceableType(InstantMessaging.class));
-		
-		//this.userJid = IMNameHelper.getIMUsernameByOlatUsername(getIdentity().getName())+"@"+InstantMessagingModule.getConferenceServer();
-		this.userJid = InstantMessagingModule.getAdapter().getUserJid(this.username);
-		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
-		chatContent.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		
-		//	checks with the given intervall if dirty components are available to rerender
-		jsc = new JSAndCSSComponent("intervall", this.getClass(), null, null, false, null, InstantMessagingModule.getCHAT_POLLTIME());
-		chatContent.put("updatecontrol", jsc);
-		
-		InstantMessagingModule.getAdapter().getClientManager().registerEventListener(username, this, false);
-		sendMessageForm = new SendMessageForm(ureq, getWindowControl());
-		listenTo(sendMessageForm);
-		sendMessageForm.resetTextField();
-		
-		chatMsgFieldPanel = new Panel("chatMsgField");
-		chatMsgFieldPanel.setContent(chatMsgFieldContent);
-		
-		String chatPartnerUsername = InstantMessagingModule.getAdapter().getUsernameFromJid(chatPartnerJid);
-
-		chatPanelCtr = new FloatingResizableDialogController(ureq, getWindowControl(), chatContent, getTranslator().translate("im.chat.with")+": "+
-				getFullUserName(chatPartnerUsername),
-				450, 300, offsetX, offsetY, null, null, true, false, true, String.valueOf(this.hashCode()));
-		listenTo(chatPanelCtr);
-		
-		String pn = chatPanelCtr.getPanelName();
-		chatContent.contextPut("panelName", pn);
-		
-		//due to limitations in flexi form, we have to tweak focus handling manually
-		jsTweakCmd = "<script>Ext.onReady(function(){try{tweak_"+pn+"();}catch(e){}});</script>";
-		jsFocusCmd = "<script>Ext.onReady(function(){try{focus_"+pn+"();}catch(e){}});</script>";
-		
-		
-		if (username.equals(chatPartnerUsername)) {
-			chatMsgFieldContent.contextPut("chatMessages", getTranslator().translate("chat.with.yourself"));
-		} else {
-			if (initialMessage == null) {
-				chatMsgFieldContent.contextPut("chatMessages", messageHistory.toString());
-			} else {
-				appendToMessageHistory(initialMessage);
-				chatMsgFieldContent.contextPut("chatMessages", messageHistory.toString());
-			}
-		}
-	
-		chatMsgFieldContent.contextPut("id", this.hashCode());
-		chatContent.put("chatMsgFieldPanel", chatMsgFieldPanel);
-		
-		chatContent.put("sendMessageForm", sendMessageForm.getInitialComponent());
-		
-		refresh = LinkFactory.createCustomLink("refresh", "cmd.refresh", "", Link.NONTRANSLATED, chatContent, this);
-		refresh.setCustomEnabledLinkCSS("b_small_icoureq.getUserSession().getSingleUserEventCenter().n sendMessageFormo_instantmessaging_refresh_icon");
-		refresh.setTitle("im.refresh");
-
-		putInitialPanel(chatPanelCtr.getInitialComponent());
-	}
-
-	@Override
-	protected void doDispose() {
-		allChats.remove(Integer.toString(hashCode()));
-		InstantMessagingModule.getAdapter().getClientManager().deregisterControllerListener(username, this);
-	}
-
-	@Override
-	protected void event(UserRequest ureq, Controller source, Event event) {
-		
-		if (source == sendMessageForm && sendMessageForm.getMessage().trim().length() == 0) {
-			//ignore empty manObjectessage entry and refocus on entry field
-			chatMsgFieldContent.contextPut(
-					"chatMessages",
-					messageHistory.toString() + jsFocusCmd
-			);
-			return;
-		}
-		
-		if (source == sendMessageForm) {
-			if (chatManager == null) {
-				chatManager = InstantMessagingModule.getAdapter().getClientManager().createChat(username, chatPartnerJid, this);
-			}
-			try {
-				chatManager.sendMessage(sendMessageForm.getMessage());
-				appendToMessageHistory(createInstantMessage(sendMessageForm.getMessage(), userJid));
-			} catch (XMPPException e) {
-				logWarn("Could not send instant message from" + username + " to: " + chatPartnerJid, e);
-			}
-			sendMessageForm.resetTextField();
-		} else if (source == chatPanelCtr) {
-			//user closed panel by close icon
-			fireEvent(ureq, new Event(chatPartnerJid));
-			allChats.remove(Integer.toString(hashCode()));
-			jsc.setRefreshIntervall(InstantMessagingModule.getIDLE_POLLTIME());
-			singleUserEventCenter.fireEventToListenersOf(new MultiUserEvent("ChatWindowClosed"), OresHelper.createOLATResourceableType(InstantMessaging.class));
-		}
-	}
-	
-	/**
-	 * gets called if either a new message or a presence change from one of the buddies happens
-	 * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event)
-	 */
-	public void event(Event event) {
-		if(event instanceof InstantMessagingEvent) {
-			processInstantMessageEvent((InstantMessagingEvent)event);
-		}
-	}
-	
-	/**
-	 * This method close the chat from extern
-	 */
-	protected void closeChat() {
-		allChats.remove(Integer.toString(hashCode()));
-		singleUserEventCenter.fireEventToListenersOf(new MultiUserEvent("ChatWindowClosed"), OresHelper.createOLATResourceableType(InstantMessaging.class));
-		chatPanelCtr.executeCloseCommand();
-	}
-
-	private void processInstantMessageEvent(InstantMessagingEvent imEvent) {
-		if (imEvent.getCommand().equals("chatmessage")) {
-			//chat mode. user started chat himself
-			Message msg = (Message)imEvent.getPacket();
-			logDebug("incoming message for user: "+msg.getTo()+"  - body: "+msg.getBody(), null);
-			if ((msg.getType() == Message.Type.chat) && msg.getBody() != null) {
-					if (!isMessageFromMe(msg)) {
-						appendToMessageHistory(msg);
-					}
-			} 
-		}
-	}
-	
-	/**
-	 * 
-	 * @param body - any text
-	 * @param from must be a valid jid
-	 * @return
-	 */
-	private Message createInstantMessage(String body, String from) {
-		Message message = new Message();
-		message.setBody(body);
-		message.setFrom(from);
-		message.setProperty("receiveTime", new Long(new Date().getTime()));
-		return message;
-	}
-	
-	private String getFullUserName(String userName) {
-		Identity ident = BaseSecurityManager.getInstance().findIdentityByName(userName);
-		if (ident != null) {
-			StringBuilder sb = new StringBuilder();
-			sb.append(ident.getUser().getProperty(UserConstants.FIRSTNAME, locale));
-			sb.append(" ");
-			sb.append(ident.getUser().getProperty(UserConstants.LASTNAME, locale));
-			sb.append(" (");
-			sb.append(ident.getName());
-			sb.append(")");
-			if (sb.length() > 35) {
-				return sb.substring(0, 35)+"...";
-			}
-			return sb.toString();
-		}
-		return "";
-	}
-	
-	private boolean isMessageFromMe (Message m) {
-		return InstantMessagingModule.getAdapter().getUsernameFromJid(m.getFrom()).equals(getIdentity().getName());
-	}
-	
-	private void appendToMessageHistory(Message message) {
-		
-		String uname = InstantMessagingModule.getAdapter().getUsernameFromJid(message.getFrom());
-
-		String m = message.getBody().replaceAll("<br/>\n", "\r\n");
-		
-		StringBuilder sb = new StringBuilder();
-		
-		sb.append("<div><span style=\"color:");
-		sb.append(colorize(message.getFrom()));
-		sb.append("\">[");
-		sb.append(ClientHelper.getSendDate(message, locale));
-		sb.append("] ");
-		sb.append(uname);
-		sb.append(": </span>");
-		sb.append(prepareMsgBody(m.replaceAll("<", "&lt;").replaceAll(">", "&gt;")).replaceAll("\r\n", "<br/>\n"));
-		sb.append("</div>");
-		
-		synchronized (messageHistory) {
-			messageHistory.append(sb);
-		}
-		
-		
-		StringBuilder fh = new StringBuilder(messageHistory);
-		fh.append(jsTweakCmd);
-		if (uname.equals(getIdentity().getName())) {
-			fh.append(jsFocusCmd);
-		}
-		
-		chatMsgFieldContent.contextPut("chatMessages", fh.toString());
-		chatMsgFieldContent.contextPut("id", this.hashCode());
-	}
-	
-	private String prepareMsgBody(String body) {
-		
-		List <String> done = new ArrayList<String>();
-		
-		Matcher m = Pattern.compile("((mailto\\:|(news|(ht|f)tp(s?))\\://){1}\\S+)").matcher(body);
-		
-		while (m.find()) {
-			String l = m.group();
-			if (!done.contains(l)) {
-				body = body.replaceFirst(l, "<a href=\""+l+"\" target=\"_blank\">"+l+"</a>");
-			}
-			done.add(l);
-		}
-		
-		return body;
-	}
-
-	private String colorize(String from) {
-		if (InstantMessagingModule.getAdapter().getUsernameFromJid(from).equals(username)) return "blue";
-		else if (from.equals("info@localhost")) return "green";
-		else return "red";
-	}
-
-	@Override
-	protected void event(UserRequest ureq, Component source, Event event) {
-		//
-	}
-
-	protected void setChatManager(Chat chatManager) {
-		this.chatManager = chatManager;
-	}
-
-	protected Chat getChatManager() {
-		return chatManager;
-	}
-
-	protected String getMessageHistory() {
-		synchronized (messageHistory) {
-			return messageHistory.toString();
-		}
-	}
-	
-	protected void setMessageHistory(String m) {
-		synchronized (messageHistory) {
-			messageHistory.insert(0, m);
-		}
-		
-		chatMsgFieldContent.contextPut("chatMessages", messageHistory.toString());
-	}
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/ChatManagerController.java b/src/main/java/org/olat/instantMessaging/rosterandchat/ChatManagerController.java
deleted file mode 100644
index 96683c78d10045fe87194a1ae15d5dab0fa8a66f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/ChatManagerController.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.jivesoftware.smack.Chat;
-import org.jivesoftware.smack.MessageListener;
-import org.jivesoftware.smack.packet.Message;
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.panel.Panel;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.instantMessaging.InstantMessagingModule;
-
-/**
- * Description:<br>
- * ChatManagerController: Manages peer to peer chats
- * 
- * <P>
- * Initial Date:  05.05.2008 <br>
- * @author guido
- */
-public class ChatManagerController extends BasicController {
-
-	private VelocityContainer container = createVelocityContainer("chats");
-	private HashMap<String, ChatController> chats = new HashMap<String, ChatController>(2);
-	private HashMap<String, String> histories = new HashMap<String,String>();
-
-	/**
-	 * 
-	 * @param ureq
-	 * @param control
-	 */
-	public ChatManagerController(UserRequest ureq, WindowControl control) {
-		super(ureq, control);
-		container.contextPut("chats", chats);
-		putInitialPanel(container);
-	}
-	
-	@Override
-	public void event(UserRequest ureq, Controller source, Event event) {
-		if (source instanceof ChatController) {
-			ChatController chatCtr = (ChatController) source;
-			
-			//the only event from ChatController is for closing chat
-			String jabberId = event.getCommand();
-			histories.put(jabberId, chatCtr.getMessageHistory());
-			chats.remove(jabberId);
-			Component c = container.getComponent(jabberId);
-			container.remove(c);
-			InstantMessagingModule.getAdapter().getClientManager().deregisterControllerListener(getIdentity().getName(), source);
-			Chat chat = chatCtr.getChatManager();
-			if (chat != null) {
-				Collection<MessageListener> listeners = chat.getListeners();
-				for (Iterator<MessageListener> iterator = listeners.iterator(); iterator.hasNext();) {
-					chat.removeMessageListener(iterator.next());
-				}
-			}
-			//forward event also to main controller
-			fireEvent(ureq, event);
-		}
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#doDispose()
-	 */
-	@Override
-	protected void doDispose() {
-		chats.clear();
-	}
-	
-	/**
-	 * Close the chats windows
-	 */
-	protected void closeAllChats() {
-		List<String> jabberIds = new ArrayList<String>(chats.keySet());
-		for(String jabberId :jabberIds) {
-			Component p = container.getComponent(jabberId);
-			if(p != null) {
-				container.remove(p);
-			}
-			ChatController ctrl = chats.get(jabberId);
-			if(ctrl != null) {
-				ctrl.closeChat();
-			}
-		}
-		chats.clear();
-	}
-
-	/**
-	 * 
-	 * @param ureq
-	 * @param windowControl
-	 * @param jabberId
-	 * @param offsetX
-	 * @param offsetY
-	 * @param createMsgListener
-	 * @param initialMessage
-	 */
-	public void createChat(UserRequest ureq, WindowControl windowControl, String jabberId, int offsetX, int offsetY, boolean createMsgListener, List<Message> initialMessages) {
-		jabberId = extractJid(jabberId);
-		
-		if (chats.containsKey(jabberId)) {
-			return; // chat  with this person is already ongoing
-		}
-		
-		ChatController chat = new ChatController(ureq, windowControl, jabberId ,offsetX, offsetY, extractMessages(initialMessages));
-		listenTo(chat);
-		if (createMsgListener) {
-			chat.setChatManager(InstantMessagingModule.getAdapter().getClientManager().createChat(getIdentity().getName(), jabberId, chat));
-		}
-		
-		if (histories.containsKey(jabberId)) {
-			chat.setMessageHistory(histories.get(jabberId));
-		}
-		
-		Panel p = new Panel("chatholder");
-		p.setContent(chat.getInitialComponent());
-		container.put(jabberId, p);
-		chats.put(jabberId, chat);
-	}
-
-	/**
-	 * 
-	 * @param ureq
-	 * @param windowControl
-	 * @param jabberId
-	 */
-	public void createChat(UserRequest ureq, WindowControl windowControl, String jabberId) {
-		createChat(ureq, windowControl, jabberId, 100+(chats.size()*10), 100+(chats.size()*5), false, null);
-	}
-	
-	/**
-	 * extract the jabber id without the resource appendix
-	 * @param jabberId
-	 * @return
-	 */
-	private String extractJid(String jabberId) {
-		int pos = jabberId.lastIndexOf("/");
-		if (pos > 0) {
-			return jabberId.substring(0, jabberId.lastIndexOf("/"));
-		}
-		return jabberId;
-	}
-
-	
-	/**
-	 * check whether already a chat is running for this jid
-	 * @param jabberId
-	 * @return
-	 */
-	public boolean hasRunningChat(String jabberId) {
-		return chats.containsKey(extractJid(jabberId));
-	}
-
-	@Override
-	protected void event(UserRequest ureq, Component source, Event event) {
-		//no events
-	}
-	
-	/**
-	 * @param initialMessages
-	 * @return
-	 */
-	private Message extractMessages(List<Message> initialMessages) {
-		if (initialMessages == null) return null;
-		if (initialMessages.size() > 1) {
-			Message msg = initialMessages.get(0);
-			StringBuilder sb = new StringBuilder();
-			String from = msg.getFrom();
-			for (Iterator<Message> iterator = initialMessages.iterator(); iterator.hasNext();) {
-				Message message = iterator.next();
-				if (message.getFrom().equals(from)) {
-					sb.append(message.getBody()).append("<br/>\n");
-				}
-			}
-			Message newMsg = new Message();
-			newMsg.setBody(sb.toString());
-			newMsg.setFrom(from);
-			newMsg.setProperty("receiveTime", new Long(new Date().getTime()));
-			return newMsg;
-		} else {
-			return initialMessages.get(0);
-		}
-	}
-	
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/ConnectToServerTask.java b/src/main/java/org/olat/instantMessaging/rosterandchat/ConnectToServerTask.java
deleted file mode 100644
index a225de6d4e64397e58a2458186b72d105e83dc28..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/ConnectToServerTask.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.XMPPException;
-import org.jivesoftware.smack.Roster.SubscriptionMode;
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.instantMessaging.IMConfig;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingClient;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.XMPPConnListener;
-
-/**
- * 
- * Description:<br>
- * connecting in the background to the instant messaging server to decouple the login process to IM server 
- * to not disturb the login process in case of errors/slow in the IM server
- * 
- * <P>
- * Initial Date:  30.07.2010 <br>
- * @author guido
- */
-
-public class ConnectToServerTask implements Runnable {
-
-	private InstantMessagingClient client;
-	OLog log = Tracing.createLoggerFor(ConnectToServerTask.class);
-	private InstantMessaging im;
-	
-	public ConnectToServerTask(InstantMessagingClient client) {
-		this.client = client;
-		this.im = InstantMessagingModule.getAdapter();
-	}
-
-	public void run() {
-		for (int i = 0; i < 2; i++) {
-			try {
-				XMPPConnection connection = client.getConnection();
-				connection.connect();
-				connection.login(client.getChatUsername(), client.getPassword(), IMConfig.RESOURCE);
-				
-				if (log.isDebug()) {
-					log.debug("Connecting to IM server with username: "+client.getChatUsername() +" and password: "+client.getPassword());
-				}
-				
-				client.setIsConnected(connection.isConnected() && connection.isAuthenticated());
-				if (client.isConnected() && connection.isAuthenticated()) {
-					im.getClientManager().addMessageListener(client.getUsername());
-					im.getClientManager().addPresenceListener(client.getUsername());
-					client.addSubscriptionListener();
-					
-					connection.addConnectionListener(new XMPPConnListener(client));
-					client.setRoster(connection.getRoster());
-					// subscription accept all = 0
-					client.getRoster().setSubscriptionMode(SubscriptionMode.accept_all);
-					
-					String defaultStatus = client.getDefaultRosterStatus();
-					if (defaultStatus.equals(Presence.Type.unavailable.toString())) client.sendPresenceUnavailable();
-					else client.sendPresenceAvailable(Presence.Mode.valueOf(defaultStatus));
-					break;
-					
-				} else {
-					
-					if (!im.hasAccount(client.getUsername())) {
-						boolean success = im.createAccount(client.getUsername(), client.getPassword(), client.getFullName(), client.getEmail());
-						if (success) {
-							log.audit("New instant messaging authentication account created for user:" + client.getChatUsername());
-							client.closeConnection(true);
-							continue;
-						}
-					}
-					
-					log.warn("Error while trying to connect to Instant Messaging server (username, server): " + client.getChatUsername() + ", " + client.getServerName()
-							+ " After login connection.isConnected() returned false ");
-				}
-				
-			} catch (XMPPException e) {
-				client.setIsConnected(false);
-				if (e.getXMPPError()!=null && e.getXMPPError().getCode() == 401) { //401 --> "not authorised", normally this users do not have an account on the server
-					log.info("User is not authorized to connect to Instant Messaging server (username, server): " + client.getChatUsername() + ", " + client.getServerName()+
-							". Make sure this users have an account on the IM server. I will try to recreate the account now");
-					
-					if (!im.hasAccount(client.getUsername())) {
-						boolean success = im.createAccount(client.getUsername(), client.getPassword(), client.getFullName(), client.getEmail());
-						if (success) {
-							log.audit("New instant messaging account created for user:" + client.getChatUsername());
-							client.closeConnection(true);
-							continue;
-						}
-					}
-					
-				}
-				client.closeConnection(true);
-				log.warn("Error while trying to connect to Instant Messaging server (username, server): " + client.getChatUsername() + ", " + client.getServerName(),e);
-			} catch (Exception e) { // also catch java.lang.IllegalStateException: Not
-				// connected to server. -> at
-				// org.jivesoftware.smack.XMPPConnection.addPacketListener(XMPPConnection.java:581)
-				// and so on
-				client.closeConnection(true);
-				client.setIsConnected(false);
-				log.warn("Error while trying to connect to Instant Messaging server (username, server): " + client.getChatUsername() + ", " + client.getServerName(),e);
-			}
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/InstantMessagingMainController.java b/src/main/java/org/olat/instantMessaging/rosterandchat/InstantMessagingMainController.java
deleted file mode 100644
index 94c5b7ab80a47af64564ee9b3e53d9535ba7946c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/InstantMessagingMainController.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jivesoftware.smack.packet.Message;
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.commons.fullWebApp.LayoutMain3ColsController;
-import org.olat.core.commons.fullWebApp.popup.BaseFullWebappPopupLayoutFactory;
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
-import org.olat.core.gui.components.panel.Panel;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.floatingresizabledialog.FloatingResizableDialogController;
-import org.olat.core.gui.control.generic.popup.PopupBrowserWindow;
-import org.olat.core.gui.themes.Theme;
-import org.olat.core.id.OLATResourceable;
-import org.olat.core.util.WebappHelper;
-import org.olat.core.util.event.EventBus;
-import org.olat.core.util.event.GenericEventListener;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.course.nodes.iq.AssessmentEvent;
-import org.olat.ims.qti.process.AssessmentInstance;
-import org.olat.instantMessaging.ClientHelper;
-import org.olat.instantMessaging.ClientManager;
-import org.olat.instantMessaging.CloseInstantMessagingEvent;
-import org.olat.instantMessaging.ConncectedUsersHelper;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingEvent;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.OpenInstantMessageEvent;
-import org.olat.instantMessaging.ui.ConnectedClientsListController;
-
-/**
- * Description:<br />
- * Main controller which initates the connection and provides status change/roster and chat possibilities
- * 
- * <P>
- * Initial Date:  26.04.2007 <br />
- * @author guido
- */
-public class InstantMessagingMainController extends BasicController implements GenericEventListener {
-	
-	public static final String ACTION_CHAT = "cmd.chat";
-	public static final String ACTION_MSG = "cmd.msg";
-	private VelocityContainer main = createVelocityContainer("index");
-	private VelocityContainer chatContent = createVelocityContainer("chat");
-	private VelocityContainer statusChangerContent = createVelocityContainer("statusChangerContent");
-	private VelocityContainer statusChangerLink = createVelocityContainer("statusChangerLink");
-	private VelocityContainer newMsgIcon = createVelocityContainer("newMsgIcon");
-	private VelocityContainer buddiesSummary = createVelocityContainer("buddiesSummary");
-	private VelocityContainer buddiesList = createVelocityContainer("buddiesList");
-	private VelocityContainer buddiesListContent = createVelocityContainer("buddiesListContent");
-	private Panel notifieNewMsgPanel;
-	private Panel buddiesSummaryPanel, statusPanel;
-	private Panel statusChangerPanel, rosterPanel;
-	private Link available, unavailable, dnd, xa, away;
-	private Link chat, onlineOfflineCount;
-	private Link toggleOffline, toggleGroups, showOtherUsers, statusChanger; 
-	private int toggleOfflineMode;
-	private int toggleGroupsMode;
-	private ClientHelper clientHelper;
-	private Panel buddiesListContentPanel;
-	private ClientManager clientManager;
-	private String username;
-	private FloatingResizableDialogController statusChangerPanelCtr;
-	private FloatingResizableDialogController rosterPanelCtr;
-	private JSAndCSSComponent jsc;
-	private ChatManagerController chatMgrCtrl;
-	private Map<String, NewMessageIconInfo> showNewMessageHolder = new HashMap<String, NewMessageIconInfo>(2);
-
-	private EventBus singleUserEventCenter;
-	public static final OLATResourceable ass = OresHelper.createOLATResourceableType(AssessmentEvent.class);
-
-	public InstantMessagingMainController(UserRequest ureq, WindowControl wControl) {
-		super(ureq, wControl);
-		username = getIdentity().getName();
-		clientHelper = new ClientHelper(username, this, buddiesListContent, getTranslator());
-		this.clientManager = InstantMessagingModule.getAdapter().getClientManager();
-		clientManager.registerEventListener(username, this, true);
-		
-		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
-		chatContent.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-		
-		//	checks with the given intervall if dirty components are available to rerender
-		jsc = new JSAndCSSComponent("intervall", this.getClass(), null, null, false, null, InstantMessagingModule.getIDLE_POLLTIME());
-		main.put("updatecontrol", jsc);
-		
-		// configure new message sound
-		newMsgIcon.contextPut("iconsHolder", showNewMessageHolder);
-		
-		Theme guiTheme = getWindowControl().getWindowBackOffice().getWindow().getGuiTheme();
-		String newMessageSoundURL = guiTheme.getBaseURI() + "/sounds/new_message.wav";
-		File soundFile = new File(WebappHelper.getContextRoot() + "/themes/" + guiTheme.getIdentifyer() + "/sounds/new_message.wav");
-		if (!soundFile.exists()) {
-			// fallback to default theme when file does not exist in configured theme
-			newMessageSoundURL = newMessageSoundURL.replace("/themes/" + guiTheme.getIdentifyer(), "/themes/openolat");
-		}
-		newMsgIcon.contextPut("newMessageSoundURL", newMessageSoundURL);
-
-		notifieNewMsgPanel = new Panel("newMsgPanel");
-		notifieNewMsgPanel.setContent(newMsgIcon);
-				
-		statusChanger = LinkFactory.createCustomLink("statusChanger", "cmd.status", "", Link.NONTRANSLATED, statusChangerLink, this);
-		statusChanger.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_"+clientManager.getInstantMessagingClient(username).getDefaultRosterStatus()+"_icon");
-		statusChanger.registerForMousePositionEvent(true);
-		statusChanger.setTooltip(getTranslator().translate("im.status.change.long"), false);
-		statusChangerPanel = new Panel("statusChangerPanel");
-		statusChangerPanel.setContent(statusChanger);
-		
-		statusPanel = new Panel("statusPanel");
-		
-		//set defaults
-		buddiesSummaryPanel = new Panel("buddiesSummaryPanel");
-		buddiesSummaryPanel.setContent(buddiesSummary);
-		
-		rosterPanel = new Panel("rosterPanel");
-		
-		onlineOfflineCount = LinkFactory.createCustomLink("onlineOfflineCount", "cmd.roster", "", Link.NONTRANSLATED, buddiesSummary, this);
-		onlineOfflineCount.setCustomDisplayText("(?/?)");
-		onlineOfflineCount.setTooltip(getTranslator().translate("im.roster.intro"), false);
-		onlineOfflineCount.registerForMousePositionEvent(true);
-		
-		
-		/**
-		 * status changer links
-		 */
-		available = LinkFactory.createLink("presence.available", statusChangerContent, this);
-		available.setCustomEnabledLinkCSS("o_instantmessaging_available_icon");
-		
-		chat = LinkFactory.createLink("presence.chat", statusChangerContent, this);
-		chat.setCustomEnabledLinkCSS("o_instantmessaging_chat_icon");
-		
-		away = LinkFactory.createLink("presence.away", statusChangerContent, this);
-		away.setCustomEnabledLinkCSS("o_instantmessaging_away_icon");
-		
-		xa = LinkFactory.createLink("presence.xa", statusChangerContent, this);
-		xa.setCustomEnabledLinkCSS("o_instantmessaging_xa_icon");
-		
-		dnd = LinkFactory.createLink("presence.dnd", statusChangerContent, this);
-		dnd.setCustomEnabledLinkCSS("o_instantmessaging_dnd_icon");
-		
-		unavailable = LinkFactory.createLink("presence.unavailable", statusChangerContent, this);
-		unavailable.setCustomEnabledLinkCSS("o_instantmessaging_unavailable_icon");
-		
-		statusChangerContent.contextPut("contextpath", WebappHelper.getServletContextPath());
-		statusChangerContent.contextPut("lang", ureq.getLocale().toString());
-		
-		
-		/**
-		 * buddies list links
-		 */
-		
-		toggleOffline = LinkFactory.createCustomLink("toggleOffline", "cmd.offline", "", Link.NONTRANSLATED, buddiesList, this);
-		toggleOffline.setCustomDisplayText(getTranslator().translate("im.show.offline.buddies"));
-		toggleOffline.setCustomEnabledLinkCSS("o_instantmessaging_showofflineswitch");
-		
-		toggleGroups = LinkFactory.createCustomLink("toggleGroups", "cmd.groups", "", Link.NONTRANSLATED, buddiesList, this);
-		toggleGroups.setCustomDisplayText(getTranslator().translate("im.show.groups"));
-		toggleGroups.setCustomEnabledLinkCSS("o_instantmessaging_showgroupswitch");
-		
-		showOtherUsers = LinkFactory.createLink("im.others.connected", buddiesList, this);
-		showOtherUsers.setCustomEnabledLinkCSS("o_instantmessaging_footerlinks");
-		showOtherUsers.setAjaxEnabled(false); //opens new window -> disable background post!
-		showOtherUsers.setTarget("_blank");
-		
-		buddiesList.contextPut("contextpath", WebappHelper.getServletContextPath());
-		buddiesList.contextPut("lang", ureq.getLocale().toString());
-		buddiesList.contextPut("othersConnected", new ConncectedUsersHelper());
-		
-		buddiesListContent.contextPut("imclient", clientHelper);
-		buddiesListContentPanel = new Panel("buddiesListContent");
-		buddiesListContentPanel.setContent(buddiesListContent);
-		buddiesList.put("buddiesListContent", buddiesListContentPanel);
-		
-		main.put("newMsgPanel", notifieNewMsgPanel);
-		main.put("statusChangerPanel", statusChangerPanel);
-		main.put("buddiesSummaryPanel", buddiesSummaryPanel);
-		main.put("rosterPanel", rosterPanel);
-		main.put("statusPanel", statusPanel);
-		
-		//creates and manages the p2p chats
-		chatMgrCtrl = new ChatManagerController(ureq, wControl);
-		listenTo(chatMgrCtrl);
-		newMsgIcon.put("chats", chatMgrCtrl.getInitialComponent());
-		
-		
-		singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
-		singleUserEventCenter.registerFor(this, getIdentity(), ass);
-		singleUserEventCenter.registerFor(this, getIdentity(), InstantMessaging.TOWER_EVENT_ORES);
-		
-		putInitialPanel(main);
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
-	 */
-	@Override
-	protected void doDispose() {
-		InstantMessagingModule.getAdapter().getClientManager().deregisterControllerListener(username, this);
-		InstantMessagingModule.getAdapter().getClientManager().destroyInstantMessagingClient(username);
-		singleUserEventCenter.deregisterFor(this, ass);
-		singleUserEventCenter.deregisterFor(this, InstantMessaging.TOWER_EVENT_ORES);
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
-	@Override
-	public void event(UserRequest ureq, Component source, Event event) {
-		if (clientHelper.isConnected()) {
-			boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
-			chatContent.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
-			
-			if (source == statusChanger) {			
-				removeAsListenerAndDispose(statusChangerPanelCtr);
-				statusChangerPanelCtr = new FloatingResizableDialogController(
-						ureq, getWindowControl(), statusChangerContent,
-						getTranslator().translate("im.status.change"), 210, 200, statusChanger.getOffsetX()-130,
-						statusChanger.getOffsetY()+25, null, null, false, false, true, "im_status"
-				);
-				listenTo(statusChangerPanelCtr);
-				statusPanel.setContent(statusChangerPanelCtr.getInitialComponent());
-				statusChanger.setDirty(false);
-				
-			} else if (source == onlineOfflineCount) {
-				if (!clientHelper.isChatDisabled()) { //only open panel when chat is not disabled
-					removeAsListenerAndDispose(rosterPanelCtr);
-					rosterPanelCtr = new FloatingResizableDialogController(
-							ureq, getWindowControl(), buddiesList,
-							getTranslator().translate("im.buddies"), 300, 500, onlineOfflineCount.getOffsetX()-80,
-							onlineOfflineCount.getOffsetY()+25, null, null, true, true, true, "im_roster"
-					);
-					listenTo(rosterPanelCtr);
-					rosterPanel.setContent(rosterPanelCtr.getInitialComponent());
-					onlineOfflineCount.setDirty(false);
-				}
-								
-			} else if (source == available) {
-				clientHelper.sendPresenceAvailable(Presence.Mode.available);
-				changeCSS();
-			} else if (source == chat) {
-				clientHelper.sendPresenceAvailable(Presence.Mode.chat);
-				changeCSS();
-			} else if (source == away) {
-				clientHelper.sendPresenceAvailable(Presence.Mode.away);
-				changeCSS();
-			} else if (source == xa) {
-				clientHelper.sendPresenceAvailable(Presence.Mode.xa);
-				changeCSS();
-			} else if (source == dnd) {
-				clientHelper.sendPresenceAvailable(Presence.Mode.dnd);
-				changeCSS();
-			} else if (source == unavailable) {
-				clientHelper.sendPresenceUnavailable();
-				changeCSS();
-			}
-			//buddies list
-			else if (source == toggleOffline) {
-				if (toggleOfflineMode == 0) {
-					toggleOffline.setCustomDisplayText(getTranslator().translate("im.hide.offline.buddies"));
-					toggleOfflineMode = 1;
-					clientHelper.setShowOfflineBuddies(true);
-				} else {
-					toggleOffline.setCustomDisplayText(getTranslator().translate("im.show.offline.buddies"));
-					toggleOfflineMode = 0;
-					clientHelper.setShowOfflineBuddies(false);
-				}
-				buddiesListContent.setDirty(true);
-				
-			} else if (source == toggleGroups) {
-				if (toggleGroupsMode == 0) {
-					toggleGroups.setCustomDisplayText(getTranslator().translate("im.hide.groups"));
-					toggleGroupsMode = 1;
-					clientHelper.setShowGroupsInRoster(true);
-				} else {
-					toggleGroups.setCustomDisplayText(getTranslator().translate("im.show.groups"));
-					toggleGroupsMode = 0;
-					clientHelper.setShowGroupsInRoster(false);
-				}
-				buddiesListContent.setDirty(true);
-				
-			} else if (source == showOtherUsers) {
-				//open new window with a list of online users
-				ControllerCreator ctrlCreator = new ControllerCreator() {
-					public Controller createController(UserRequest lureq, WindowControl lwControl) {
-						ConnectedClientsListController clientsListCtr = new ConnectedClientsListController(lureq, lwControl);
-						LayoutMain3ColsController mainLayoutCtr = new LayoutMain3ColsController(lureq, lwControl, null, null, clientsListCtr.getInitialComponent(), null);
-						mainLayoutCtr.addDisposableChildController(clientsListCtr);
-						return mainLayoutCtr;
-					}					
-				};
-				//wrap the content controller into a full header layout
-				ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, ctrlCreator);
-				//open in new browser window
-				PopupBrowserWindow pbw = getWindowControl().getWindowBackOffice().getWindowManager().createNewPopupBrowserWindowFor(ureq, layoutCtrlr);
-				pbw.open(ureq);
-				//
-			}
-			
-			if (source instanceof Link) {
-				Link link = (Link)source;
-				
-				//chat gets created by click on buddy list
-				if(link.getCommand().equals(ACTION_CHAT)) {
-					chatMgrCtrl.createChat(ureq, getWindowControl(), (String)link.getUserObject(), link.getOffsetX()-470, link.getOffsetY(), true, null);
-				} else if (link.getCommand().equals(ACTION_MSG)) {//chats gets created by click on new message icon
-					NewMessageIconInfo info = (NewMessageIconInfo)link.getUserObject();
-					Link msgLink = info.getNewMessageLink();
-					chatMgrCtrl.createChat(ureq, getWindowControl(), info.getJabberId(), msgLink.getOffsetX()-470, msgLink.getOffsetY(), true, info.getInitialMessages());
-					showNewMessageHolder.remove(info.getJabberId());
-					newMsgIcon.setDirty(true);
-				}
-			}
-			  
-		} else {
-			//connection is broken, set "service not available" to the GUI
-			onlineOfflineCount.setCustomDisplayText("n/a");
-			onlineOfflineCount.setTitle(getTranslator().translate("im.error.connection"));
-			statusChanger.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_error_icon");
-		}
-
-	}
-
-
-	private void changeCSS() {
-		statusChanger.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_"+clientHelper.getStatus()+"_icon");
-		getWindowControl().setInfo(getTranslator().translate("new.status")+" "+getTranslator().translate("presence."+clientHelper.getStatus()));
-	}
-	
-
-	@Override
-	protected void event(UserRequest ureq, Controller source, Event event) {
-		if (source == statusChangerPanelCtr) {
-			//closing the floating panel event
-			statusChangerPanel.setContent(statusChangerLink);
-			removeAsListenerAndDispose(statusChangerPanelCtr);
-			statusPanel.setContent(null);
-			statusChanger.setDirty(false);
-		} else if (source == rosterPanelCtr) {
-			//closing the floating panel event
-			buddiesSummaryPanel.setContent(onlineOfflineCount);
-			onlineOfflineCount.setCustomDisplayText(clientHelper.buddyCountOnline());
-			removeAsListenerAndDispose(rosterPanelCtr);
-			rosterPanel.setContent(null);
-		} else if (source == chatMgrCtrl) {
-			//closing events from chat manager controller
-			notifieNewMsgPanel.setContent(newMsgIcon);
-		}
-	}
-
-	/**
-	 * gets called if either a new message or a presence change from one of the buddies happens
-	 * or an Assessment starts or ends
-	 * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event)
-	 */
-	public void event(Event event) {
-		if(event instanceof InstantMessagingEvent) {
-			processInstantMessageEvent((InstantMessagingEvent)event);
-		} else if (event instanceof AssessmentEvent) {
-			processAssessmentEvent((AssessmentEvent)event);
-		} else if (event instanceof OpenInstantMessageEvent) {
-			processOpenInstantMessageEvent((OpenInstantMessageEvent)event);
-		} else if(event instanceof CloseInstantMessagingEvent) {
-			processCloseInstantMessageEvent();
-		}
-	}
-	
-	private void processAssessmentEvent(AssessmentEvent event) {
-		if(event.getEventType().equals(AssessmentEvent.TYPE.STARTED)) {
-			main.contextPut("inAssessment", true);
-		} else if(event.getEventType().equals(AssessmentEvent.TYPE.STOPPED)) {
-			OLATResourceable a = OresHelper.createOLATResourceableType(AssessmentInstance.class);
-			if (singleUserEventCenter.getListeningIdentityCntFor(a)<1) {
-				main.contextPut("inAssessment", false);
-			}
-		} 
-	}
-
-	private void processOpenInstantMessageEvent(OpenInstantMessageEvent event) {
-		String jabberId = event.getJabberId();
-		UserRequest ureq = event.getUreq();
-		chatMgrCtrl.createChat(ureq, getWindowControl(), jabberId);
-	}
-	
-	private void processCloseInstantMessageEvent() {
-		if(statusChangerPanelCtr != null) {
-			statusChangerPanelCtr.executeCloseCommand();
-			removeAsListenerAndDispose(statusChangerPanelCtr);
-			statusPanel.setContent(null);
-		}
-		if(rosterPanelCtr != null) {
-			rosterPanelCtr.executeCloseCommand();
-			removeAsListenerAndDispose(rosterPanelCtr);
-			rosterPanel.setContent(null);
-		}
-		if(chatMgrCtrl != null) {
-			chatMgrCtrl.closeAllChats();
-		}
-	}
-	
-	private void processInstantMessageEvent(InstantMessagingEvent imEvent) {
-		if (imEvent.getCommand().equals("presence")) {
-			Presence presence = (Presence) imEvent.getPacket();
-			logDebug("incoming presence for user: "+presence.getFrom() +" type: "+presence, null);
-			getWindowControl().getWindowBackOffice().invokeLater(new Runnable(){
-				public void run() {
-					//smack does not immediately update it's presence information, so when testing only with one person the OnlineOffline count value can be wrong
-					//in a productive environment there are normally lot's of presence packages
-					onlineOfflineCount.setCustomDisplayText(clientHelper.buddyCountOnline());
-					onlineOfflineCount.setDirty(true);
-					//adjust also presence icon in gui it may be auto changed by cronjob
-					statusChanger.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_"+clientHelper.getStatus()+"_icon");
-					statusChanger.setDirty(true);					
-			}});
-		} else if (imEvent.getCommand().equals("message")) {
-			//user receives messages from an other user
-			Message initialMessage = (Message)imEvent.getPacket();
-			String jid = extractJid(initialMessage.getFrom());
-			
-			if (((initialMessage.getType() == Message.Type.chat || initialMessage.getType() == Message.Type.normal)) && initialMessage.getBody() != null) {
-				if(!chatMgrCtrl.hasRunningChat(jid)) {//only show icon if no chat running or msg from other user
-					//add follow up message to info holder 
-					if (showNewMessageHolder.get(jid) != null) {
-						NewMessageIconInfo info = showNewMessageHolder.get(extractJid(initialMessage.getFrom()));
-						info.addInitialMessage(initialMessage);
-					} else {
-						NewMessageIconInfo newMessageInfo = new NewMessageIconInfo(initialMessage.getFrom(), initialMessage);
-						showNewMessageHolder.put(jid, newMessageInfo);
-						newMessageInfo.setNewMessageLink(createShowNewMessageLink(initialMessage.getFrom(), newMessageInfo));
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * creates an new message icon link
-	 * @param jabberId
-	 */
-	private Link createShowNewMessageLink(String jabberId, NewMessageIconInfo newMessageInfo) {
-		Link link = LinkFactory.createCustomLink(extractJid(jabberId), ACTION_MSG, "", Link.NONTRANSLATED, newMsgIcon, this);
-		link.registerForMousePositionEvent(true);
-		link.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_new_msg_icon");
-		link.setTooltip(getTranslator().translate("im.new.message", new String[]{jabberId}), false);
-		link.setUserObject(newMessageInfo);
-		return link;
-	}
-	
-	/**
-	 * extract the jabber id without the resource appendix
-	 * @param jabberId
-	 * @return
-	 */
-	private String extractJid(String jabberId) {
-		int pos = jabberId.lastIndexOf("/");
-		if (pos > 0) {
-			return jabberId.substring(0, jabberId.lastIndexOf("/"));
-		}
-		return jabberId;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/NewMessageIconInfo.java b/src/main/java/org/olat/instantMessaging/rosterandchat/NewMessageIconInfo.java
deleted file mode 100644
index d29b0dab33614e5b180c3c8e04ef49b7b0896c60..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/NewMessageIconInfo.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.rosterandchat;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jivesoftware.smack.packet.Message;
-import org.olat.core.gui.components.link.Link;
-
-/**
- * Description:<br>
- * holds all information regarding a new message in one place
- * 
- * <P>
- * Initial Date:  23.11.2009 <br>
- * @author guido
- */
-public class NewMessageIconInfo {
-	
-	private String jabberId;
-	private List<Message> initialMessages = new ArrayList<Message>(2);
-	private Link newMessageLink;
-
-	/**
-	 * 
-	 * @param jabberId
-	 */
-	protected NewMessageIconInfo(String jabberId, Message initialMessage) {
-		this.jabberId = extractJid(jabberId);
-		initialMessages.add(initialMessage);
-	}
-
-	/**
-	 * [used in velocity!]
-	 * @return
-	 */
-	public String getJabberId() {
-		return jabberId;
-	}
-	
-	protected List<Message> getInitialMessages() {
-		return initialMessages;
-	}
-	
-	protected void addInitialMessage(Message m) {
-		initialMessages.add(m);
-	}
-
-	protected Link getNewMessageLink() {
-		return newMessageLink;
-	}
-
-	protected void setNewMessageLink(Link newMessageLink) {
-		this.newMessageLink = newMessageLink;
-	}
-	
-	/**
-	 * extract the jabber id without the resource appendix
-	 * @param jabberId
-	 * @return
-	 */
-	private String extractJid(String id) {
-		int pos = id.lastIndexOf("/");
-		if (pos > 0) {
-			return id.substring(0, id.lastIndexOf("/"));
-		}
-		return id;
-	}
-	
-	
-	
-	
-	
-	
-	
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesListContent.html b/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesListContent.html
deleted file mode 100644
index 977439ef187f324f4e945ad9e9e436e136e4bd9a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesListContent.html
+++ /dev/null
@@ -1,31 +0,0 @@
-#set($atLeastOne = false)
-#if ($imclient.isShowGroupsInRoster())
-	<ul>
-	#foreach ($rosterGroup in $imclient.getRoster())
-		<li class='o_instantmessaging_groupname'>
-			$rosterGroup.getName()&nbsp;$imclient.buddyCountOnlineForGroup($rosterGroup.getName())
-			<ul>
-			#foreach($entry in $imclient.getRosterGroupEntries($rosterGroup.getName()))
-				##renders the link
-				#set ($entryAppendix = $imclient.createAppendixFromGroupName($rosterGroup.getName()))
-				#set ($entryName = "$entry$entryAppendix")
-				<li>$r.render($entryName)</li>
-				#set($atLeastOne = true)
-			#end
-			</ul>
-		</li>
-	#end
-	</ul>
-#else
-	## show only distinct users without group
-	<ul>
-	#foreach ($entry in $imclient.getDistinctRoster())
-		##renders the link
-		<li>$r.render($entry)</li>
-		#set($atLeastOne = true)
-	#end
-	</ul>
-#end
-#if ($atLeastOne)
-	<hr />
-#end
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesSummary.html b/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesSummary.html
deleted file mode 100644
index 480e3fe9ed6139bb5cef50075fe660548ea4ec9c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesSummary.html
+++ /dev/null
@@ -1 +0,0 @@
-$r.render("onlineOfflineCount")
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/newMsgIcon.html b/src/main/java/org/olat/instantMessaging/rosterandchat/_content/newMsgIcon.html
deleted file mode 100644
index c70bc6d3214eb0c9e051be75f8c0212065697b93..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/newMsgIcon.html
+++ /dev/null
@@ -1,16 +0,0 @@
-$r.render("chats")
-#if($iconsHolder.size() > 0)
-<script type="text/javascript">
-/* <![CDATA[ */
-	## Play sound using scriptaculous library. 
-	## Use Ext.onReady to deferre execution and prevent errors in IE
-	Ext.onReady(function() {Sound.play('$newMessageSoundURL')});
-	document.title = "$r.translate('im.new.message.short')";
-/* ]]> */ 
-</script>
-#end
-
-## render the new message icon links
-#foreach ($holder in $iconsHolder)
-	$r.render($holder.getJabberId())
-#end
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerLink.html b/src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerLink.html
deleted file mode 100644
index d65dfd1700f7582f5aa82382a46ad462344b72ff..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerLink.html
+++ /dev/null
@@ -1 +0,0 @@
-$r.render("statusChanger")
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ar.properties
deleted file mode 100644
index 32f34bd17f5e37bb0c2dd7540e09b28cf8e3ffdd..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ar.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Jul 28 13:33:32 CEST 2010
-chat.with.yourself=\u0647\u0644 \u062A\u0631\u064A\u062F \u0641\u0639\u0644\u0627\u064B \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0646\u0641\u0633\u0643\u061F
-chelp.add=\u0625\u062F\u0627\u0631\u0629 \u0642\u0627\u0626\u0645\u0629 \u0627\u062A\u0635\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629
-chelp.add1=\u0641\u0649 \u0623\u0648\u0644\u0627\u062A. <i>$org.olat.group.ui\:LearningGroup</i> \u064A\u0645\u0643\u0646 \u062D\u0630\u0641 \u0648\u0625\u0636\u0627\u0641\u0629 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0628\u0648\u0627\u0633\u0637\u0629
-chelp.add2=\u064A\u0645\u0643\u0646 \u062F\u0639\u0648\u0629 \u0627\u0644\u0645\u0624\u0644\u0641\u064A\u0646 \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u064A\u0646 \u0648\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646 \u0644\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0625\u0644\u0649 \u0645\u062C\u0645\u0648\u0639\u062A\u0643. <i>$org.olat.group.ui\:LearningGroup</i> \u0623\u0646\u062A \u0643\u0645\u0624\u0644\u0641 \u0645\u0633\u0627\u0639\u062F \u0641\u0649
-chelp.add3=\u0633\u0648\u0641 \u064A\u0638\u0647\u0631 \u0647\u0624\u0644\u0627\u0621 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u062C\u0645\u0648\u0639\u062A\u0643 \u0641\u0649 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
-chelp.chan1=\u064A\u0645\u0643\u0646\u0643 \u062A\u063A\u064A\u064A\u0631 \u062D\u0627\u0644\u062A\u0643 \u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0648\u0645\u0646 \u062B\u0645 \u0627\u062E\u062A\u064A\u0627\u0631 \u0623\u062D\u062F \u0627\u0644\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0627\u062D\u0629.
-chelp.chan2=\u0639\u0646\u062F\u0645\u0627 \u062A\u0643\u0648\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639\u0637\u0644\u0629 \u0648\u064A\u062A\u0645 \u0639\u0631\u0636 (6/3) \u0628\u062C\u0627\u0646\u0628 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0633\u064A\u062E\u0628\u0631\u0643 \u0647\u0630\u0627 \u0628\u0639\u062F\u062F \u0627\u0644\u0632\u0645\u0644\u0627\u0621 \u0627\u0644\u0630\u064A\u0646 \u0642\u0627\u0645\u0648\u0627 \u0628\u0627\u0644\u062F\u062E\u0648\u0644 \u0648\u0645\u062A\u0627\u062D\u064A\u0646 \u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u062D\u0627\u0644\u0649.
-chelp.chan3=\u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u064A\u0647 \u0641\u0625\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0633\u062A\u0638\u0631 \u0628\u0645\u0627 \u0641\u064A\u0647\u0627 \u0623\u0633\u0645\u0627\u0621 \u0632\u0645\u0644\u0627\u0626\u0643 \u0648\u0643\u0630\u0644\u0643 \u062D\u0627\u0644\u062A\u0647\u0645.
-chelp.client=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0627\u0644\u062E\u0627\u0631\u062C\u0649
-chelp.client1=\u0625\u0630\u0627 \u0623\u0631\u062F\u062A \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0627\u0644\u062E\u0627\u0631\u062C\u0649 \u0641\u0625\u0646\u0643 \u0633\u062A\u062C\u062F \u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0645\u0641\u064A\u062F\u0629 \u0641\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629\u060C \u0642\u0633\u0645 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A\u060C \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629.
-chelp.group=\u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
-chelp.group1=\u0627\u0644\u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u062A\u0648\u062C\u062F \u0641\u0649 \u0627\u0644\u0639\u062F\u064A\u062F \u0645\u0646 \u0627\u0644\u0623\u0645\u0627\u0643\u0646 \u0641\u0649 \u0623\u0648\u0644\u0627\u062A\r\n(<i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644)
-chelp.group2=.<i>\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629</i> \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u0631\u0627\u0628\u0637
-chelp.group3=\u0633\u064A\u062A\u0645 \u0641\u062A\u062D \u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629 \u0648\u064A\u0645\u0643\u0646\u0643 \u0628\u062F\u0627\u064A\u0629 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
-chelp.group4=\u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0641\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u064A\u062A\u0645 \u0627\u0631\u0633\u0627\u0644\u0647\u0627 \u0644\u0643\u0644 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u063A\u0631\u0641\u0629.
-chelp.group5=\u0633\u064A\u062A\u0645 \u0639\u0631\u0636 \u0646\u0627\u0641\u0630\u0629 \u0643\u0644 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646 \u0628\u062C\u0627\u0646\u0628 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
-chelp.group6=\u0644\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0625\u063A\u0644\u0627\u0642 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629.
-chelp.imgAlt1=\u0635\u0648\u0631\u0629 \u0645\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0641\u0649 \u0627\u0644\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062E\u062A\u0644\u0641\u0629
-chelp.instant-messenger.title=\u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0631\u0627\u0633\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
-chelp.over=\u0639\u0631\u0636
-chelp.over1=\u062A\u0633\u0645\u062D \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0628\u062A\u0628\u0627\u062F\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0645\u0639 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0641\u0639\u0644\u0649 -- \u0645\u0627\u064A\u0633\u0645\u0649 \u0628\u0627\u0644\u062F\u0631\u062F\u0634\u0629.
-chelp.over2=\u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0639\u0646 \u062A\u0648\u0627\u0641\u0631 \u0634\u0631\u0643\u0627\u0621 \u0645\u062D\u062A\u0645\u0644\u064A\u0646 \u0644\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0647\u0645\u0629.
-chelp.over3=\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0645\u0646 \u0645\u0627 \u064A\u0633\u0645\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
-chelp.over4=\u062A\u0639\u0631\u0636 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639 3 \u0623\u0634\u062E\u0627\u0635 \u0628\u062D\u0627\u0644\u0627\u062A \u0645\u062E\u062A\u0644\u0641\u0629.
-chelp.over7=\u0644\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0623\u062D\u062F \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0627\u0644\u0645\u062A\u0627\u062D\u0629\u060C \u0642\u0645 \u0628\u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u064A\u0647 \u0648\u0645\u0646 \u062B\u0645 \u0633\u062A\u0628\u062F\u0623 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0641\u0649 \u0646\u0627\u0641\u0630\u0629 \u0645\u062A\u0635\u0641\u062D \u0623\u062E\u0631\u0649.
-chelp.rece=\u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644
-chelp.rece1=\:\u064A\u0645\u0643\u0646 \u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0628\u0637\u0631\u064A\u0642\u062A\u064A\u0646
-chelp.rece2=\u0627\u0630\u0627 \u0643\u0627\u0646\u062A \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0644\u064A\u0633\u062A \u0645\u0641\u062A\u0648\u062D\u0629\u060C \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0633\u0648\u0641 \u062A\u0638\u0647\u0631 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 \u062D\u0631\u0648\u0641 \u0648\u0627\u0645\u0636\u0629 \u0642\u0644\u064A\u0644\u0627\u064B \u0639\u0644\u0649 \u0627\u0644\u062C\u0627\u0646\u0628 \u0627\u0644\u0623\u064A\u0633\u0631 \u0645\u0646 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0641\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629.
-chelp.rece3=\u0639\u0646\u062F \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0631\u0645\u0632 \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u0633\u0648\u0641 \u062A\u0638\u0647\u0631.
-chelp.rece4=\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0627\u0633\u062A\u062C\u0627\u0628\u0629 \u0644\u0647\u0630\u0647 \u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u0641\u0648\u0631\u064A\u0627\u064B (\u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629 \u0633\u064A\u062A\u0645 \u0641\u062A\u062D\u0647\u0627).
-chelp.rece5=\u0625\u0630\u0627 \u0643\u0627\u0646\u062A \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0641\u062A\u0648\u062D\u0629 \u0641\u0639\u0644\u0627\u064B\u060C \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062C\u062F\u064A\u062F\u0629 \u0633\u064A\u062A\u0645 \u0639\u0631\u0636\u0647\u0627 \u0641\u0648\u0631\u0627\u064B \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629.
-chelp.send=\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644
-chelp.send1=\u0644\u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u0645 \u062F\u0627\u062E\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
-chelp.send2=\u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0627\u0633\u0645 \u0633\u064A\u062A\u0645 \u0641\u062A\u062D \u0646\u0627\u0641\u0630\u0629 \u062F\u0631\u062F\u0634\u0629 \u062C\u062F\u064A\u062F\u0629.
-close=\u0625\u063A\u0644\u0627\u0642
-help.hover.im=\u0645\u0633\u0627\u0639\u062F\u0629 \u0628\u0634\u0623\u0646 \u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
-help.hover.imsettings=\u0645\u0633\u0627\u0639\u062F\u0629 \u0628\u0634\u0623\u0646 \u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
-im.buddies=\u0627\u0644\u0623\u0635\u062F\u0642\u0627\u0621
-im.chat=\u062F\u0631\u062F\u0634\u0629
-im.chat.disabled=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0639\u0637\u0644\u0629\u060C \u062E\u0644\u0627\u0644 \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631 \u0644\u0646 \u062A\u0643\u0648\u0646 \u0642\u0627\u062F\u0631\u0627\u064B \u0639\u0644\u0649 \u062A\u0644\u0642\u0649 \u0627\u0644\u0631\u0633\u0627\u0626\u0644.
-im.chat.windows.may.invalid=\u062C\u0645\u064A\u0639 \u0627\u0644\u062F\u0631\u062F\u0634\u0627\u062A \u0627\u0644\u062C\u0627\u0631\u064A\u0629 \u062A\u0645 \u0625\u0646\u0647\u0627\u0624\u0647\u0627\u060C \u064A\u0631\u062C\u0649 \u0625\u063A\u0644\u0627\u0642 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
-im.chat.with=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639
-im.error.connection=\u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629 \u062D\u0627\u0644\u064A\u0627\u064B.
-im.hide.groups=\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A
-im.hide.offline.buddies=\u0625\u062E\u0641\u0627\u0621 \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629
-im.new.message={0} \:\u0644\u062F\u064A\u0643 \u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0645\u0646
-im.new.message.other=<b>{0}</b> \u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0645\u0646\r\n<b>{1}</b> \u0627\u0644\u0631\u0633\u0627\u0644\u0629\r\n {2} \:\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u062A\u0633\u062A\u0645\u0631 \u0645\u0639
-im.new.message.short=...\u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629
-im.others.connected=\u0645\u0633\u062A\u062E\u062F\u0645\u0649 \u0623\u0648\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0648\u0627\u062C\u062F\u064A\u0646 \u0639\u0628\u0631 \u0627\u0644\u0627\u0646\u062A\u0631\u0646\u062A
-im.refresh=\u062A\u062C\u062F\u064A\u062F \u0627\u0644\u0639\u0631\u0636
-im.roster.intro=\u0627\u062E\u062A\u0627\u0631 \u0634\u062E\u0635 \u0648\u0627\u062D\u062F \u062A\u0631\u064A\u062F \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639\u0647.<br>\u0623\u0649 \u0645\u0646 \u0632\u0645\u0644\u0627\u0626\u0649 \u0641\u0649 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0642\u0627\u0645 \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0625\u0644\u0649 \u0623\u0648\u0644\u0627\u062A\u061F
-im.show.groups=\u0639\u0631\u0636 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A
-im.show.offline.buddies=\u0639\u0631\u0636 \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629
-im.start.chat=\u0627\u0646\u0642\u0631 \u0647\u0646\u0627 \u0644\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
-im.status=\:\u0627\u0644\u062D\u0627\u0644\u0629
-im.status.change=\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062D\u0627\u0644\u0629
-im.status.change.long=\u062A\u063A\u064A\u064A\u0631 \u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
-im.status.msg=\:\u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629
-new.status=\:\u062D\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629
-presence.available=\u0645\u062A\u0627\u062D
-presence.away=\u063A\u0627\u0626\u0628
-presence.chat=\u0623\u0646\u0627 \u0623\u0631\u064A\u062F \u0627\u0644\u062F\u0631\u062F\u0634\u0629
-presence.dnd=\u0645\u0645\u0646\u0648\u0639 \u0627\u0644\u0627\u0632\u0639\u0627\u062C
-presence.offline=\u063A\u064A\u0631 \u0645\u062A\u0627\u062D
-presence.unavailable=\u063A\u064A\u0631 \u0645\u062A\u0640\u0627\u062D
-presence.xa=\u063A\u0627\u0626\u0628 \u0645\u0646\u0630
-refresh=\u062A\u062C\u062F\u064A\u062F
-rosterClose=\u0625\u063A\u0644\u0627\u0642
-start.chat.with=<b>{0}</b>\: \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0633\u062A\u0628\u062F\u0623 \u0645\u0639
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_bg.properties
deleted file mode 100644
index 59b688fa52573ac1439a92f120942bf294197881..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_bg.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jul 28 13:33:31 CEST 2010
-chat.with.yourself=\u041D\u0430\u0438\u0441\u0442\u0438\u043D\u0430 \u043B\u0438 \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441\u044A\u0441 \u0441\u0435\u0431\u0435 \u0441\u0438?
-chelp.add=\u041C\u0435\u043D\u0430\u0436\u0438\u0440\u0430\u0439\u0442\u0435 \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u0438 \u043E\u0442 \u0441\u043F\u0438\u0441\u044A\u0446\u0438\u0442\u0435 \u0441 \u0433\u0440\u0443\u043F\u0438
-chelp.add1=\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u0438\u0442\u0435 \u043C\u043E\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0438\u0431\u0430\u0432\u044F\u0442 \u0438\u043B\u0438 \u0438\u0437\u0442\u0440\u0438\u044F\u0442 \u0447\u0440\u0435\u0437 <i>\u0413\u0440\u0443\u043F\u0430\u0442\u0430 \u043F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438</i> \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430.
-chelp.add2=\u0412 \u0441\u043B\u0443\u0447\u0430\u0439, \u0447\u0435 \u0441\u0442\u0435 \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u0438\u043A \u043D\u0430 <i>\u0413\u0440\u0443\u043F\u0430 \u043F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438</i> \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043F\u043E\u043A\u0430\u043D\u0438\u0442\u0435 \u0438\u043B\u0438 \u0434\u0430 \u043E\u0442\u0442\u0435\u0433\u043B\u0438\u0442\u0435 \u043F\u043E\u043A\u0430\u043D\u0430 \u043A\u044A\u043C \u043E\u0431\u0449\u0438 \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u0438\u0446\u0438 \u0438\u043B\u0438 \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u0446\u0438 \u0432\u044A\u0432 \u0432\u0430\u0448\u0430\u0442\u0430 \u0433\u0440\u0443\u043F\u0430.
-chelp.add3=\u0422\u0435\u0437\u0438 \u0445\u043E\u0440\u0430 \u0449\u0435 \u0441\u0435 \u043F\u043E\u044F\u0432\u044F\u0442 \u0432 \u0441\u043F\u0438\u0441\u044A\u043A\u0430 \u043D\u0430 \u0433\u0440\u0443\u043F\u0430\u0442\u0430 \u043D\u0430 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0438\u044F \u0447\u0430\u0442.
-chelp.chan1=\u041C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043F\u0440\u043E\u043C\u0435\u043D\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0442\u0430 \u0441\u0438 \u043A\u0430\u0442\u043E \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u0437\u0432\u0435\u0437\u0434\u0430, \u043F\u0440\u0435\u0434\u0438 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u0434\u0438\u043D \u043E\u0442 \u0441\u044A\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0442\u0438.
-chelp.chan2=\u041A\u043E\u0433\u0430\u0442\u043E \u0433\u0440\u0443\u043F\u043E\u0432\u0438\u044F\u0442 \u0441\u043F\u0438\u0441\u044A\u043A \u0435 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0430\u043D, \u0438\u043D\u0434\u0438\u043A\u0430\u0446\u0438\u044F\u0442\u0430 (3/6) \u043D\u0430\u043C\u0438\u0440\u0430\u0449\u0430 \u0441\u0435 \u0434\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u0437\u0432\u0435\u0437\u0434\u0430 \u0432\u0438 \u043F\u043E\u043A\u0430\u0437\u0432\u0430 \u043A\u043E\u043B\u043A\u043E \u043E\u0442 \u0432\u0430\u0448\u0438\u0442\u0435 \u043A\u043E\u043B\u0435\u0433\u0438 \u0441\u0430 \u043E\u043D\u043B\u0430\u0439\u043D \u0438 \u043A\u043E\u043B\u043A\u043E \u0441\u0430 \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u0438 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430.
-chelp.chan3=\u0410\u043A\u043E \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0442\u043E\u0437\u0438 \u0441\u043F\u0438\u0441\u044A\u043A, \u0446\u0435\u043B\u0438\u044F\u0442 \u0441\u043F\u0438\u0441\u044A\u043A \u043D\u0430 \u0433\u0440\u0443\u043F\u0430\u0442\u0430 \u0449\u0435 \u0441\u0435 \u0432\u0438\u0436\u0434\u0430, \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u0435\u043B\u043D\u043E \u0438\u043C\u0435\u043D\u0430\u0442\u0430 \u0438 \u0441\u0442\u0430\u0442\u0443\u0442\u0430 \u043D\u0430 \u0432\u0430\u0448\u0438\u0442\u0435 \u043A\u043E\u043B\u0435\u0433\u0438.
-chelp.client=\u0427\u0430\u0442\u0432\u0430\u0439\u0442\u0435 \u043A\u0430\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-chelp.client1=\u0410\u043A\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u043A\u0430\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0430 \u0437\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435, \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043D\u0430\u043C\u0435\u0440\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0437\u043D\u0430 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043D\u0430 "\u041D\u0430\u0447\u0430\u043B\u043E", \u0441\u0435\u043A\u0446\u0438\u044F "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438", "\u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435". 
-chelp.group=\u041F\u0440\u0438\u0441\u044A\u0435\u0434\u0438\u043D\u0435\u0442\u0435 \u0441\u0435 \u043A\u044A\u043C \u0433\u0440\u0443\u043F\u043E\u0432 \u0447\u0430\u0442
-chelp.group1=\u0412\u0440\u044A\u0437\u043A\u0438 \u043A\u044A\u043C \u0447\u0430\u0442 \u0441\u0442\u0430\u044F\u0442\u0430 \u043C\u043E\u0433\u0430\u0442 \u0434\u0430 \u0431\u044A\u0434\u0430\u0442 \u043D\u0430\u043C\u0435\u0440\u0435\u043D\u0438 \u043D\u0430 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u0438 \u043C\u0435\u0441\u0442\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 <i>\u0413\u0440\u0443\u043F\u0430 \u043F\u043E \u043F\u0440\u043E\u0435\u043A\u0442\u0438</i>, <i>\u0423\u0447\u0435\u0431\u043D\u0430 \u0433\u0440\u0443\u043F\u0430</i>).
-chelp.group2=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0432\u0440\u044A\u0437\u043A\u0430\u0442\u0430 <i>\u041E\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0447\u0430\u0442</i>.
-chelp.group3=\u0429\u0435 \u0441\u0435 \u043E\u0442\u0432\u043E\u0440\u0438 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 \u0438 \u0432\u0438\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0435\u0442\u0435 \u0432\u0430\u0448\u0438\u044F \u0433\u0440\u0443\u043F\u043E\u0432 \u0447\u0430\u0442.
-chelp.group4=\u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u0442\u0430 \u0434\u043E \u0441\u0442\u0430\u044F \u0437\u0430 \u0447\u0430\u0442 \u0441\u0435 \u0438\u0437\u043F\u0440\u0430\u0449\u0430\u0442 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438 \u0445\u043E\u0440\u0430 \u0432 \u0442\u0430\u0437\u0438 \u0441\u0442\u0430\u044F.
-chelp.group5=\u0421\u043F\u0438\u0441\u044A\u043A \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438 \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u0446\u0438 \u0449\u0435 \u0431\u044A\u0434\u0435 \u043F\u043E\u043A\u0430\u0437\u0430\u043D \u0434\u043E \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430 \u0437\u0430 \u0447\u0430\u0442.
-chelp.group6=\u0410\u043A\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u043B\u0435\u0437\u0435\u0442\u0435 \u043E\u0442 \u0441\u0442\u0430\u044F\u0442\u0430 \u0437\u0430 \u0447\u0430\u0442, \u043F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430.
-chelp.imgAlt1=\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0430 \u0433\u0440\u0443\u043F\u043E\u0432 \u0441\u043F\u0438\u0441\u044A\u043A \u0441 \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u0438 \u0441 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u0438 \u0441\u0442\u0430\u0442\u0443\u0442\u0438
-chelp.instant-messenger.title=\u0424\u0443\u043D\u043A\u0446\u0438\u0438 \u043D\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E\u0442\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-chelp.over=\u041F\u0440\u0435\u0433\u043B\u0435\u0434
-chelp.over1=\u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E\u0442\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0432\u0430 \u043E\u0431\u043C\u0435\u043D \u043D\u0430 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u043C\u0435\u0436\u0434\u0443 \u0445\u043E\u0440\u0430 \u0432 \u0440\u0435\u0430\u043B\u043D\u043E \u0432\u0440\u0435\u043C\u0435--\u0442\u0430\u043A\u0430 \u043D\u0430\u0440\u0435\u0447\u0435\u043D\u0438\u044F "\u0447\u0430\u0442".
-chelp.over2=\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0437\u0430 \u0441\u044A\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u043F\u043E\u0442\u0435\u043D\u0446\u0438\u0430\u043B\u043D\u0438 \u043F\u0430\u0440\u0442\u043D\u044C\u043E\u0440\u0438 \u0437\u0430 \u0447\u0430\u0442 \u0435 \u0432\u0430\u0436\u043D\u0430.
-chelp.over3=\u041F\u043E\u043B\u0443\u0447\u0430\u0432\u0430\u0442\u0435 \u0442\u0430\u0437\u0438 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0441 \u043F\u043E\u043C\u043E\u0449\u0430 \u043D\u0430 \u0442\u0430\u043A\u0430 \u043D\u0430\u0440\u0435\u0447\u0435\u043D\u0438\u044F "\u0441\u043F\u0438\u0441\u044A\u043A \u043D\u0430 \u0433\u0440\u0443\u043F\u0430\u0442\u0430".
-chelp.over4=\u0421\u043B\u0435\u0434\u043D\u043E\u0442\u043E \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u043E\u043A\u0430\u0437\u0432\u0430 \u0433\u0440\u0443\u043F\u0430 \u043E\u0442 \u0442\u0440\u0438\u043C\u0430 \u0434\u0443\u0448\u0438 \u0441 \u0440\u0430\u0437\u043B\u0438\u0447\u043D\u0438 \u0441\u0442\u0430\u0442\u0443\u0442\u0438.
-chelp.over7=\u0417\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0435\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441 \u0435\u0434\u0438\u043D \u043E\u0442 \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u0438\u0442\u0435 \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u0438, \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0442\u043E\u0437\u0438 \u043A\u043E\u043D\u0442\u0430\u043A\u0442 \u0438 \u0447\u0430\u0442\u0430 \u0449\u0435 \u0441\u0435 \u043E\u0442\u0432\u043E\u0440\u0438 \u0432\u044A\u0432 \u0432\u0442\u043E\u0440\u0438 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 \u043D\u0430 \u0431\u0440\u0430\u0443\u0437\u044A\u0440\u0430.
-chelp.rece=\u041F\u043E\u043B\u0443\u0447\u0435\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F
-chelp.rece1=\u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u0442\u0430 \u043C\u043E\u0433\u0430\u0442 \u0434\u0430 \u0441\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442 \u043F\u043E \u0434\u0432\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\:
-chelp.rece2=\u0410\u043A\u043E \u0447\u0430\u0442 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430 \u043D\u0435 \u0435 \u043E\u0442\u0432\u043E\u0440\u0435\u043D, \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u0442\u0430 \u0449\u0435 \u0441\u0435 \u043F\u043E\u044F\u0432\u044F\u0442 \u043F\u043E\u0434 \u0444\u043E\u0440\u043C\u0430\u0442\u0430 \u043D\u0430 \u043C\u0430\u043B\u043A\u0438 \u0431\u043B\u0435\u0449\u0443\u043A\u0430\u0449\u0438 \u0431\u0443\u043A\u0432\u0438 \u0432\u043B\u044F\u0432\u043E \u043D\u0430 \u0441\u0438\u043C\u0432\u043E\u043B\u0430 \u0437\u0432\u0435\u0437\u0434\u0430 \u0432 \u043C\u0435\u043D\u044E\u0442\u043E.
-chelp.rece3=\u0410\u043A\u043E \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0442\u043E\u0437\u0438 \u0441\u0438\u043C\u0432\u043E\u043B, \u0432\u0430\u0448\u0435\u0442\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0449\u0435 \u0441\u0435 \u043F\u043E\u044F\u0432\u0438.
-chelp.rece4=\u041C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043E\u0442\u0433\u043E\u0432\u043E\u0440\u0438\u0442\u0435 \u043D\u0430 \u0442\u043E\u0432\u0430 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432\u0435\u0434\u043D\u0430\u0433\u0430 (\u0449\u0435 \u0441\u0435 \u043E\u0442\u0432\u043E\u0440\u0438 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 \u0437\u0430 \u0447\u0430\u0442).
-chelp.rece5=\u0410\u043A\u043E \u0447\u0430\u0442 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430 \u0435 \u0432\u0435\u0447\u0435 \u043E\u0442\u0432\u043E\u0440\u0435\u043D, \u043D\u043E\u0432\u0438\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432\u0435\u0434\u043D\u0430\u0433\u0430 \u0449\u0435 \u0441\u0435 \u043F\u043E\u043A\u0430\u0437\u0432\u0430\u0442 \u0432 \u0442\u043E\u0437\u0438 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446.
-chelp.send=\u0418\u0437\u043F\u0440\u0430\u0442\u0435\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F
-chelp.send1=\u0417\u0430 \u0434\u0430 \u0438\u0437\u043F\u0440\u0430\u0442\u0438\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435, \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u043D\u0430 \u0438\u043C\u0435 \u0432 \u0441\u043F\u0438\u0441\u044A\u043A\u0430 \u043D\u0430 \u0433\u0440\u0443\u043F\u0430\u0442\u0430.
-chelp.send2=\u041A\u043E\u0433\u0430\u0442\u043E \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0438\u043C\u0435, \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446 \u0437\u0430 \u0447\u0430\u0442 \u0449\u0435 \u0441\u0435 \u043E\u0442\u0432\u043E\u0440\u0438.
-close=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435
-help.hover.im=\u041F\u043E\u043C\u043E\u0449 \u0437\u0430 \u0445\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A\u0438\u0442\u0435 \u043D\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-help.hover.imsettings=\u041F\u043E\u043C\u043E\u0449 \u0437\u0430 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F\u0442\u0430 \u043D\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-im.buddies=\u041F\u0440\u0438\u044F\u0442\u0435\u043B\u0438
-im.chat=\u0427\u0430\u0442
-im.chat.disabled=\u0427\u0430\u0442\u044A\u0442 \u0435 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0430\u043D. \u041F\u043E \u0432\u0440\u0435\u043C\u0435 \u043D\u0430 \u0442\u0435\u0441\u0442, \u0432\u0438\u0435 \u043D\u044F\u043C\u0430 \u0434\u0430 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u043F\u043E\u043B\u0443\u0447\u0430\u0432\u0430\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u044F.
-im.chat.windows.may.invalid=\u0412\u0441\u0438\u0447\u043A\u0438 \u0442\u0435\u043A\u0443\u0449\u0438 \u0447\u0430\u0442\u043E\u0432\u0435 \u0441\u0430 \u0441\u043F\u0440\u0435\u043D\u0438. \u041C\u043E\u043B\u044F, \u0437\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0447\u0430\u0442 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430.
-im.chat.with=\u0427\u0430\u0442 \u0441
-im.error.connection=\u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E\u0442\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438
-im.hide.groups=\u0421\u043A\u0440\u0438\u0439\u0442\u0435 \u0433\u0440\u0443\u043F\u0438
-im.hide.offline.buddies=\u0421\u043A\u0440\u0438\u0439\u0442\u0435 \u043E\u0444\u043B\u0430\u0439\u043D \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u0438.
-im.new.message=\u0418\u043C\u0430\u0442\u0435 \u043D\u043E\u0432\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435.
-im.new.message.other=\u041D\u043E\u0432\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442 \u0434\u0440\u0443\u0433 \u0447\u043E\u0432\u0435\u043A\: <b>{0}</b>. \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435\: <b>{1}</b>. \u0427\u0430\u0442\u044A\u0442 \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0430\u0432\u0430 \u0441\: {2}.
-im.others.connected=\u041F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438 \u043E\u043D\u043B\u0430\u0439\u043D
-im.refresh=\u041F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u0442\u0435 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u0430
-im.roster.intro=\u041A\u043E\u0438 \u043E\u0442 \u043C\u043E\u0438\u0442\u0435 \u043A\u043E\u043B\u0435\u0433\u0438 \u0432 \u0433\u0440\u0443\u043F\u0430\u0442\u0430 \u0441\u0430 \u043E\u043D\u043B\u0430\u0439\u043D?<br />\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0435\u0434\u0438\u043D \u0447\u043E\u0432\u0435\u043A, \u0441 \u043A\u043E\u0439\u0442\u043E \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435.
-im.show.groups=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u0433\u0440\u0443\u043F\u0438
-im.show.offline.buddies=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u043E\u0444\u043B\u0430\u0439\u043D \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u0438
-im.start.chat=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u0442\u0443\u043A, \u0437\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0435\u0442\u0435 \u0447\u0430\u0442\u0430.
-im.status=\u0421\u0442\u0430\u0442\u0443\u0442\:
-im.status.change=\u041F\u0440\u043E\u043C\u0435\u043D\u0435\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0442
-im.status.change.long=\u041F\u0440\u043E\u043C\u0435\u043D\u0435\u0442\u0435 \u0441\u0442\u0430\u0442\u0443\u0442\u0430 \u043D\u0430 \u041D\u0435\u0437\u0430\u0431\u0430\u0432\u043D\u043E \u0421\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
-im.status.msg=\u0421\u0442\u0430\u0442\u0443\u0442 \u043D\u0430 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435\:
-new.status=\u041D\u043E\u0432 \u0441\u0442\u0430\u0442\u0443\u0442\:
-presence.available=\u0421\u0432\u043E\u0431\u043E\u0434\u0435\u043D
-presence.away=\u041E\u0442\u0441\u044A\u0441\u0442\u0432\u0430\u0449
-presence.chat=\u0411\u0438\u0445 \u0438\u0441\u043A\u0430\u043B \u0434\u0430 \u0447\u0430\u0442\u044F
-presence.dnd=\u041C\u043E\u043B\u044F, \u043D\u0435 \u0431\u0435\u0437\u043F\u043E\u043A\u043E\u0439\u0442\u0435
-presence.offline=\u041E\u0444\u043B\u0430\u0439\u043D
-presence.unavailable=\u0417\u0430\u0435\u0442
-presence.xa=\u041E\u0442\u0441\u044A\u0441\u0442\u0432\u0430\u0449 \u0437\u0430 \u0434\u044A\u043B\u0433\u043E \u0432\u0440\u0435\u043C\u0435
-refresh=\u041F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u0442\u0435
-rosterClose=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435
-start.chat.with=\u0429\u0435 \u0431\u044A\u0434\u0435 \u0437\u0430\u043F\u043E\u0447\u043D\u0430\u0442 \u0447\u0430\u0442 \u0441\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_cs.properties
deleted file mode 100644
index c05857e7b3165d250dec070734c1b888adbc1b5e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_cs.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jul 28 13:33:32 CEST 2010
-chat.with.yourself=Opravdu chcete chatovat se sebou?
-chelp.add=Spravovat kontakty
-chelp.add1=Kontakty mohou b\u00FDt p\u0159id\u00E1v\u00E1ny nebo odeb\u00EDr\u00E1ny kliknut\u00EDm na <i>$org.olat.group.ui\:LearningGroup</i> .
-chelp.add2=Pokud jste <i>$org.olat.group.ui\:LearningGroup</i> m\u016F\u017Eete pozvat nebo vyk\u00E1zat vlastn\u00EDky nebo \u00FA\u010Dastn\u00EDky sv\u00E9 skupiny.
-chelp.add3=Tyto osoby budou na seznamu u\u017Eivatel\u016F.
-chelp.chan1=Sv\u016Fj stav m\u016F\u017Eete zm\u011Bnit kliknut\u00EDm na symbol hv\u011Bzdy a v\u00FDb\u011Brem z dostupn\u00FDch stav\u016F.
-chelp.chan2=(3/6) \u0159\u00EDk\u00E1 kolik z koleg\u016F je p\u0159ihl\u00E1\u0161eno a jsou pr\u00E1v\u011B dostupn\u00ED.
-chelp.chan3=Kliknut\u00EDm na seznam p\u0159ehledu budou vid\u011Bt jm\u00E9na a stavy v\u0161ech koleg\u016F.
-chelp.client=Chat s pou\u017Eit\u00EDm extern\u00EDho programu pro Instant Messaging
-chelp.client1=Pokud chcete pou\u017E\u00EDvat extern\u00ED IM program, najdete d\u016Fle\u017Eit\u00E9 informace v "Dom\u016F"/"Nastaven\u00ED"/"Instant Messaging".
-chelp.group=P\u0159idat se do skupiny chatu
-chelp.group1=Odkazy na m\u00EDstnosti jsou viditeln\u00E9 na r\u016Fzn\u00FDch m\u00EDstech syst\u00E9mu (nap\u0159. <i>$org.olat.group.ui\:LearningGroup</i> , <i>$org.olat.group.ui\:LearningGroup</i> ).
-chelp.group2=Klikn\u011Bte na odkaz <i>Za\u010Dn\u011Bte komunikovat</i>.
-chelp.group3=Otev\u0159e se nov\u00E9 okno a m\u016F\u017Eete vsoupid do komunikace.
-chelp.group4=Zpr\u00E1vy jsou do m\u00EDstnost\u00ED zas\u00EDl\u00E1ny v\u0161em osob\u00E1m.
-chelp.group5=Seznam v\u0161ech \u00FA\u010Dastn\u00EDk\u016F bude zobrazen vedle okna zpr\u00E1v.
-chelp.group6=Pokud chcete opustit m\u00EDstnost, jen okno zav\u0159ete.
-chelp.imgAlt1=Obr\u00E1zek seznamu skupin s kontakty r\u016Fzn\u00FDch stav\u016F
-chelp.instant-messenger.title=Funkce rychl\u00E9 komunikace
-chelp.over=P\u0159ehled
-chelp.over1=Rychl\u00E1 komunikace (IM) umo\u017E\u0148uje v\u00FDm\u011Bnu zpr\u00E1v mezi osobami v re\u00E1ln\u00E9m \u010Dase. Naz\u00EDv\u00E1 se tak\u00E9 "chat".
-chelp.over2=Informace o dostupnosti p\u0159\u00EDpadn\u00FDch partner\u016F pro komunikaci je velmi d\u016Fle\u017Eit\u00E1.
-chelp.over3=Tuto informaci naleznete ve "skupin\u00E1ch".
-chelp.over4=N\u00E1sleduj\u00EDc\u00ED obr\u00E1zek ukazuje skupino o 3 osob\u00E1ch v r\u016Fzn\u00FDch stavech.
-chelp.over7=Pro za\u010D\u00E1tek komunikace s kontaktem, na kontakt klikn\u011Bte a komunikace m\u016F\u017Ee za\u010D\u00EDt ve druh\u00E9m okn\u011B prohl\u00ED\u017Ee\u010De.
-chelp.rece=Obdr\u017Eet zpv\u00E1vy
-chelp.rece1=Zpr\u00E1va m\u016F\u017Ee b\u00FDt p\u0159ijata dv\u011Bma zp\u016Fsoby\:
-chelp.rece2=Pokud je otev\u0159eno okno chatu, zpr\u00E1va se objev\u00ED ve formul\u00E1\u0159i mal\u00FDm blikaj\u00EDc\u00EDm p\u00EDsmem na levo od symbolu hvezdy v menu.
-chelp.rece3=Kliknut\u00EDm na tuto hvezdu zpr\u00E1vu obdr\u017E\u00EDte.
-chelp.rece4=M\u016F\u017Eete okam\u017Eit\u011B odpov\u011Bd\u011Bt (otev\u0159e se nov\u00E9 okno) nebo zpr\u00E1vu smazat.
-chelp.rece5=Pokud je komunika\u010Dn\u00ED okno otev\u0159eno, nov\u00E1 zpr\u00E1va bude okam\u017Eit\u011B zobrazena.
-chelp.send=Poslat zpr\u00E1vu
-chelp.send1=K zasl\u00E1n\u00ED zpr\u00E1vy sta\u010D\u00ED kliknout na p\u0159\u00EDslu\u0161n\u00E9 jm\u00E9no ve skupin\u011B nebo vybrat n\u011Bkoho ze seznamu v\u0161ech p\u0159ihl\u00E1\u0161en\u00FDch u\u017Eivatel\u016F.
-chelp.send2=V\u00FDb\u011Brem jm\u00E9na se otev\u0159e nov\u00E9 okno prohl\u00ED\u017Ee\u010De.
-close=Zav\u0159\u00EDt
-help.hover.im=N\u00E1pov\u011Bda k funkc\u00EDm chatu
-help.hover.imsettings=N\u00E1pov\u011Bda ke konfiguraci chatu
-im.buddies=U\u017Eivatel\u00E9
-im.chat=Chat
-im.chat.disabled=Chat deaktivov\u00E1n. B\u011Bhem testu nebudete moci obdr\u017Eet zpr\u00E1vu.
-im.chat.windows.may.invalid=Cel\u00FD odchoz\u00ED chat p\u0159eru\u0161en. Zav\u0159ete pros\u00EDm okno.
-im.chat.with=Chat s
-im.error.connection=Chat je pr\u00E1v\u011B nedostupn\u00FD
-im.hide.groups=Skr\u00FDt skupiny
-im.hide.offline.buddies=Skr\u00FDt kontakty offline
-im.new.message=M\u00E1te novou zpr\u00E1vu.
-im.new.message.other=Nov\u00E1 zpr\u00E1va od dal\u0161\u00ED osoby\: <b>{0}</b>. Zpr\u00E1va\: <b>{1}</b>. Chat pokra\u010Duje s\: {2}.
-im.others.connected=On-line u\u017Eivatel\u00E9 OLATu
-im.refresh=Obnovit
-im.roster.intro=Kdo z koleg\u016F je pr\u00E1v\u011B p\u0159ihl\u00E1\u0161en do OLATu?<br />Vyberte jednu osobu k chatu.
-im.show.groups=Zobrazit skupiny
-im.show.offline.buddies=Zobrazit kontakty offline
-im.start.chat=Spustit chat.
-im.status=Stav\:
-im.status.change=Zm\u011Bnit stav 
-im.status.change.long=Zm\u011Bnit stav chatu 
-im.status.msg=Stavov\u00E1 zpr\u00E1va\:
-new.status=Nov\u00FD stav\:
-presence.available=Dostupn\u00FD
-presence.away=Pry\u010D
-presence.chat=Chci chatovat
-presence.dnd=Neru\u0161it
-presence.offline=Offline
-presence.unavailable=Nedostupn\u00FD
-presence.xa=Pry\u010D d\u00E9le
-refresh=Obnovit
-rosterClose=Zav\u0159\u00EDt
-start.chat.with=Bude spu\u0161t\u011Bn chat s\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_da.properties
deleted file mode 100644
index 4e9b11995dce2018c242980a4983fd8dc79b7d70..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_da.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#Wed Jul 28 13:33:31 CEST 2010
-chelp.add=Administrer grupper af kontakter
-chelp.add1=Kontakter kan tilf\u00F8jes eller fjernes via <i>$org.olat.group.ui\:LearningGroup</i> i OLAT.
-chelp.add2=Hvis du er ejer af en <i>$org.olat.group.ui\:LearningGroup</i> kan du invitere eller fjerne f\u00E6llesejer eller medlemmer af din gruppe.
-chelp.add3=Disse personer vil s\u00E5ledes fremg\u00E5 af din gruppeliste i OLAT chatten.
-chelp.chan1=Du kan \u00E6ndre din status ved at klikke p\u00E5 stjernesymbolet f\u00F8r du v\u00E6lger en af de mulige tilg\u00E6ngelighedsstatus
-chelp.chan2=(3/6) fort\u00E6ller dig hvor mange af dine kolleger der er logget p\u00E5 og netop nu er tilg\u00E6ngelige.
-chelp.chan3=Ved at klikke p\u00E5 resume vil den komplette gruppeliste blive synlig inklusiv navne og status for dine kolleger.
-chelp.client=Chat ved hj\u00E6lp af et eksternt Instant Messaging program
-chelp.client1=Hvis du vil chatte ved hj\u00E6lp af et eksternt Instant Messaging program vil du finde brugbar information i dit "Hjem", sektionen "Indstillinger", "Instant Messaging".
-chelp.group=Abbonner p\u00E5 en gruppe chat
-chelp.group1=Links til chat rum findes flere steder i OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Klik p\u00E5 linket <i>Start chat</i>.
-chelp.group3=Et nyt vindue vil \u00E5b ne og du kan g\u00E5 ind i gruppechatten.
-chelp.group4=Beskeder til et chatrum sendes til alle personer i det p\u00E5g\u00E6ldende rum. 
-chelp.group5=Listen over medlemmer vil blive vist ved siden af beskedvinduet
-chelp.group6=Hvis du vil forlade chat rummet, luk bare vinduet.
-chelp.imgAlt1=Billede af gruppelisten med kontakter med forskellige tilg\u00E6ngelighedsstatus.
-chelp.instant-messenger.title=Instant Messaging funktioner
-chelp.over=Overblik
-chelp.over1=Instant Messaging (IM) tillader udveksling af beskeder med personer i realtid - s\u00E5kaldt "chat".
-chelp.over2=Information om tilg\u00E6ngeligheden af potentielle chat partnere er vigtigt.
-chelp.over3=Du f\u00E5r denne information ved hj\u00E6lp af den s\u00E5kaldte "gruppeliste"
-chelp.over4=Det f\u00F8lgende billede viser en gruppeliste med 3 personer med forskellige tilg\u00E6ngelighedsstatus.
-chelp.over7=For at starte med at chatte med en af de tilg\u00E6ngelige kontakter, klik p\u00E5 den p\u00E5g\u00E6ldende kontakt og chatten kan startes i et andet browservindue.
-chelp.rece=Modtag beskeder
-chelp.rece1=Beskeder kan modtages p\u00E5 to m\u00E5der\:
-chelp.rece2=Hvis chatvinduet ikke er \u00E5bent, beskederne vil optr\u00E6de i form af sm\u00E5 blinkede bogstaver til venstre for stjernesymbolet i menuen.
-chelp.rece3=Ved at klikke p\u00E5 dette symbol vil din besked fremkomme.
-chelp.rece4=Du kan svare p\u00E5 denne besked med det samme (et nyt vindue vil blive \u00E5bnet) eller slette den besked.
-chelp.rece5=Hvis chatvinduet allerede er \u00E5bent, vil nye beskeder umiddelbart blive vist i dette vindue.
-chelp.send=Send beskeder
-chelp.send1=For at sende beskeder til nogen kan du enten klikke p\u00E5 det p\u00E5g\u00E6ldende navn p\u00E5 gruppelisten eller v\u00E6lger samtalepartner fra listen af online brugere.
-chelp.send2=Ved at v\u00E6lge et navn vil et nyt browservindue blive \u00E5bnet (Bem\u00E6rk\: tillad \u00E5bning af nye browservinduer i OLAT) med $\:flashLink (Flash Player 7.X needed).
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_de.properties
deleted file mode 100644
index 8d33eec7bbc38e37d2cbbdb750e5d8ac29b7cb71..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_de.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-#Mon Mar 02 09:54:04 CET 2009
-chat.with.yourself=Wollen Sie wirklich mit sich selber chatten?
-chelp.add=Kontakte der Gruppenliste verwalten
-chelp.add1=Kontakte k\u00F6nnen \u00FCber die <i>$org.olat.group.ui\:LearningGroup</i> von OLAT hinzugef\u00FCgt oder entfernt werden.
-chelp.add2=Sofern Sie Besitzer oder Besitzerin einer <i>$org.olat.group.ui\:LearningGroup</i> sind, k\u00F6nnen Sie Mitbesitzer oder Teilnehmer in Ihre Gruppe ein- oder ausladen.
-chelp.add3=Diese Personen erscheinen dann auf Ihrer Gruppenliste im Chat.
-chelp.chan1=Den eigenen Status k\u00F6nnen Sie wechseln, indem Sie auf das Sternsymbol klicken und einen der aufgef\u00FChrten Status ausw\u00E4hlen.
-chelp.chan2=Bei geschlossener Gruppenliste zeigt die Angabe (3/6) neben dem Stern-Symbol an, wie viele Ihrer Bekannten zurzeit in OLAT eingeloggt und verf\u00FCgbar sind.
-chelp.chan3=Durch Klicken wird die ganze Gruppenliste mit Namen und Status Ihrer Bekannten sichtbar.
-chelp.client=Mit einem externen Instant-Messaging-Programm chatten
-chelp.client1=Wenn Sie mit einem externen Instant-Messaging-Programm chatten m\u00F6chten, finden Sie die notwendigen Angaben in Ihrem "Home" unter "Einstellungen", "Instant-Messaging". 
-chelp.group=Einem Gruppenchat beitreten
-chelp.group1=An verschiedenen Orten in OLAT gibt es Chatr\u00E4ume (z.B. <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Klicken Sie auf den Link <i>Chatraum betreten</i>.
-chelp.group3=Ein Chatfenster geht auf und Sie betreten den Gruppen-Chat.
-chelp.group4=Nachrichten an einen Chatraum werden an alle Personen im Raum gesendet.
-chelp.group5=Die Liste der Teilnehmer ist neben dem Chatfenster ersichtlich.
-chelp.group6=Falls Sie den Raum wieder verlassen m\u00F6chten, schliessen Sie das Fenster.
-chelp.imgAlt1=Ansicht einer Gruppenliste mit Kontakten in verschiedenen Status
-chelp.instant-messenger.title=Instant-Messaging: Funktionen
-chelp.over=\u00DCberblick
-chelp.over1=Instant-Messaging (IM) erlaubt den Austausch von Nachrichten mit Personen in Echtzeit - das sogenannte "Chatten".
-chelp.over2=Wichtig ist dabei die Information \u00FCber die Verf\u00FCgbarkeit von potentiellen Chatpartnern.
-chelp.over3=Diese Information liefert die sogenannte "Buddies"-Liste.
-chelp.over4=Wenn Sie mit dem Mauszeiger ĂĽber die Namen der Chatpartner fahren, wird der jeweilige Status angezeigt.
-chelp.over7=Um mit einem der verf\u00FCgbaren Kontakte einen Chat zu starten, klicken Sie auf den gew\u00FCnschten Kontakt und der Chat wird in einem Chatfenster gestartet.
-chelp.rece=Nachrichten empfangen
-chelp.rece1=Nachrichten k\u00F6nnen auf zwei Arten empfangen werden\:
-chelp.rece2=Falls das Chatfenster nicht offen ist, erscheinen die Nachrichten als blinkendes Briefchen links neben dem Sternsymbol in der Menuzeile.
-chelp.rece3=Wenn Sie auf dieses Symbol klicken, so erscheint die Nachricht.
-chelp.rece4=Ein Chatfenster geht auf und Sie k\u00F6nnen auf diese Nachricht antworten.
-chelp.rece5=Wenn das Chatfenster bereits offen ist, so werden neue Nachrichten dort angezeigt.
-chelp.send=Nachrichten senden
-chelp.send1=Um Nachrichten an eine Person zu senden, klicken Sie auf den Namen der Person in der Gruppenliste.
-chelp.send2=Durch das Ausw\u00E4hlen wird ein Chatfenster ge\u00F6ffnet.
-close=Schliessen
-help.hover.im=Hilfe zu den Instant-Messaging-Funktionen
-help.hover.imsettings=Hilfe zur Konfiguration des Instant-Messaging
-im.buddies=Buddies
-im.chat=Chat
-im.chat.disabled=Chat ausgeschaltet. W\u00E4hrend einem Test k\u00F6nnen Sie keine Nachrichten empfangen.
-im.chat.windows.may.invalid=Laufende Chats wurden beendet, bitte schliessen Sie allf\u00E4llige Chatfenster.
-im.chat.with=Chat mit
-im.error.connection=Instant-Messaging ist momentan nicht verf\u00FCgbar.
-im.hide.groups=Verberge Gruppen
-im.hide.offline.buddies=Verberge offline Kontakte
-im.new.message=Sie haben eine neue Nachricht von: {0}
-im.new.message.short=Neue Chat Nachricht...
-im.new.message.other=Neue Nachricht von anderer Person\: <b>{0}</b>. Nachricht\: <b>{1}</b>. Chat geht weiter mit\: {2}.
-im.others.connected=Personen sind online
-im.refresh=Anzeige neu laden
-im.roster.intro=Welche meiner Bekannten aus meinen Gruppen sind in OLAT eingeloggt?<br>W\u00E4hlen Sie eine Person aus, mit der Sie chatten m\u00F6chten.
-im.show.groups=Zeige Gruppen
-im.show.offline.buddies=Zeige offline Kontakte
-im.start.chat=Klicke, um Chat zu starten.
-im.status=Status\:
-im.status.change=Status wechseln
-im.status.change.long=Instant-Messaging-Status wechseln
-im.status.msg=Status Msg\:
-new.status=Neuer Status\:
-presence.available=Verf\u00FCgbar
-presence.away=Abwesend
-presence.chat=Ich m\u00F6chte chatten
-presence.dnd=Bitte nicht st\u00F6ren
-presence.offline=Nicht verf\u00FCgbar
-presence.unavailable=Nicht verf\u00FCgbar
-presence.xa=L\u00E4nger abwesend
-refresh=refresh
-rosterClose=close
-start.chat.with=Chat wird gestartet mit\: <b>{0}</b>
-
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_el.properties
deleted file mode 100644
index fd0d1e673a9e6878af8c70d5c2a07c4288e02562..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_el.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Jul 28 13:33:32 CEST 2010
-chat.with.yourself=\u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03AC \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03BC\u03B5 \u03C4\u03BF\u03BD \u03B5\u03B1\u03C5\u03C4\u03CC \u03C3\u03B1\u03C2;
-chelp.add=\u039F\u03BC\u03AC\u03B4\u03B1 \u03B4\u03B9\u03B1\u03C7\u03B5\u03AF\u03C1\u03B9\u03C3\u03B7\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2 \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
-chelp.add1=\u0395\u03C0\u03B1\u03C6\u03AD\u03C2 \u03BC\u03C0\u03BF\u03C1\u03BF\u03CD\u03BD \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03C4\u03B5\u03B8\u03BF\u03CD\u03BD \u03AE \u03BD\u03B1 \u03B1\u03C6\u03B1\u03B9\u03C1\u03B5\u03B8\u03BF\u03CD\u03BD \u03BC\u03AD\u03C3\u03C9 \u03C4\u03B7\u03C2 <i>$org.olat.group.ui\:LearningGroup</i> \u03C4\u03BF\u03C5 OLAT.
-chelp.add2=\u0394\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03CC\u03C4\u03B9 \u03B5\u03AF\u03C3\u03C4\u03B5 \u03BF \u03BA\u03AC\u03C4\u03BF\u03C7\u03BF\u03C2 \u03C4\u03B7\u03C2 <i>$org.olat.group.ui\:LearningGroup</i> \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03BA\u03B1\u03BB\u03AD\u03C3\u03B5\u03C4\u03B5 \u03AE \u03CC\u03C7\u03B9 \u03BA\u03BF\u03B9\u03BD\u03BF\u03CD\u03C2 \u03BA\u03B1\u03C4\u03CC\u03C7\u03BF\u03C5\u03C2 \u03AE \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B1 \u03C3\u03B1\u03C2.
-chelp.add3=\u0391\u03C5\u03C4\u03AC \u03C4\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03BF\u03CD\u03BD \u03C3\u03C4\u03B7 \u03C3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B9\u03BA\u03AE \u03C3\u03B1\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1 \u03C4\u03BF\u03C5 OLAT chat.
-chelp.chan1=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03BB\u03BB\u03AC\u03BE\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE \u03C3\u03B1\u03C2 \u03BA\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03BF \u03C3\u03CD\u03BC\u03B2\u03BF\u03BB\u03BF-\u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF \u03C0\u03C1\u03B9\u03BD \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03C4\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B5\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2.
-chelp.chan2=\u038C\u03C4\u03B1\u03BD \u03B7 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03C0\u03B5\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7, \u03B7 \u03AD\u03BD\u03B4\u03B5\u03B9\u03BE\u03B7 (3/6) \u03B4\u03AF\u03C0\u03BB\u03B1 \u03C3\u03C4\u03BF\u03BD \u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF \u03C3\u03AC\u03C2 \u03BB\u03AD\u03B5\u03B9 \u03C0\u03CC\u03C3\u03BF\u03B9 \u03B1\u03C0\u03CC \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03BF\u03C5\u03C2 \u03C3\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9 \u03BA\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF\u03B9 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE.
-chelp.chan3=\u039A\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03B7 \u03BB\u03AF\u03C3\u03C4\u03B1, \u03BF\u03BB\u03CC\u03BA\u03BB\u03B7\u03C1\u03B7 \u03B7 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BF\u03C1\u03B1\u03C4\u03AE, \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD \u03BA\u03B1\u03B9 \u03C4\u03C9\u03BD \u03BF\u03BD\u03BF\u03BC\u03AC\u03C4\u03C9\u03BD \u03BA\u03B1\u03B9 \u03C4\u03B7\u03C2 \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 \u03C4\u03C9\u03BD \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03C9\u03BD \u03C3\u03B1\u03C2.
-chelp.client=\u039A\u03AC\u03BD\u03C4\u03B5 chat \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C0\u03C1\u03CC\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1 \u03C4\u03BF\u03C5 Instant Messaging
-chelp.client1=\u0391\u03BD \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C0\u03C1\u03CC\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1 Instant Messaging, \u03B8\u03B1 \u03B2\u03C1\u03B5\u03AF\u03C4\u03B5 \u03C7\u03C1\u03AE\u03C3\u03B9\u03BC\u03B5\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03C3\u03C4\u03B7\u03BD "\u0391\u03C1\u03C7\u03B9\u03BA\u03AE \u03A3\u03B5\u03BB\u03AF\u03B4\u03B1" \u03C3\u03B1\u03C2, \u03C3\u03C4\u03BF \u03C4\u03BC\u03AE\u03BC\u03B1 "\u03A1\u03C5\u03B8\u03BC\u03AF\u03C3\u03B5\u03B9\u03C2", "Instant Messaging". 
-chelp.group=\u03A3\u03C5\u03BC\u03BC\u03B5\u03C4\u03BF\u03C7\u03AE \u03C3\u03B5 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03CC chat
-chelp.group1=\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF\u03B9 \u03C3\u03B5 chatrooms \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03AD\u03C1\u03B7 \u03C3\u03C4\u03BF OLAT (\u03C0.\u03C7. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03BF \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF <i>\u0395\u03BA\u03BA\u03AF\u03BD\u03B7\u03C3\u03B7 chat</i>.
-chelp.group3=\u0388\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9 \u03BA\u03B1\u03B9 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03CC chat.
-chelp.group4=\u03A4\u03B1 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03C3\u03B5 \u03AD\u03BD\u03B1 chatroom \u03B1\u03C0\u03BF\u03C3\u03C4\u03AD\u03BB\u03BB\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C3\u03B5 \u03CC\u03BB\u03B1 \u03C4\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03C4\u03BF \u03B4\u03C9\u03BC\u03AC\u03C4\u03B9\u03BF.
-chelp.group5=\u039C\u03B9\u03B1 \u03BB\u03AF\u03C3\u03C4\u03B1 \u03BC\u03B5 \u03CC\u03BB\u03BF\u03C5\u03C2 \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF \u03B4\u03AF\u03C0\u03BB\u03B1 \u03C3\u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 chat.
-chelp.group6=\u0391\u03BD \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03B5\u03BE\u03AD\u03BB\u03B8\u03B5\u03C4\u03B5 \u03B1\u03C0\u03CC \u03C4\u03BF chatroom, \u03B1\u03C0\u03BB\u03AC \u03BA\u03BB\u03B5\u03AF\u03C3\u03C4\u03B5 \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF.
-chelp.imgAlt1=\u0395\u03B9\u03BA\u03CC\u03BD\u03B1 \u03BC\u03B9\u03B1\u03C2 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2 \u03BC\u03B5 \u03B5\u03C0\u03B1\u03C6\u03AD\u03C2 \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2
-chelp.instant-messenger.title=\u039B\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B5\u03C2 \u03C4\u03BF\u03C5 Instant Messaging 
-chelp.over=\u0393\u03B5\u03BD\u03B9\u03BA\u03AE \u03B5\u03C0\u03B9\u03C3\u03BA\u03CC\u03C0\u03B7\u03C3\u03B7
-chelp.over1=\u03A4\u03BF Instant Messaging (IM) \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03B9 \u03C4\u03B7\u03BD \u03B1\u03BD\u03C4\u03B1\u03BB\u03BB\u03B1\u03B3\u03AE \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD \u03BC\u03B5 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03CC \u03C7\u03C1\u03CC\u03BD\u03BF - \u03C4\u03BF \u03BB\u03B5\u03B3\u03CC\u03BC\u03B5\u03BD\u03BF "chat".
-chelp.over2=\u039F\u03B9 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03B3\u03B9\u03B1 \u03C4\u03B7 \u03B4\u03B9\u03B1\u03B8\u03B5\u03C3\u03B9\u03BC\u03CC\u03C4\u03B7\u03C4\u03B1 \u03C0\u03B9\u03B8\u03B1\u03CE\u03BD \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03C9\u03BD \u03C3\u03C4\u03BF chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03B7\u03BC\u03B1\u03BD\u03C4\u03B9\u03BA\u03AD\u03C2.
-chelp.over3=\u039B\u03B1\u03BC\u03B2\u03AC\u03BD\u03B5\u03C4\u03B5 \u03B1\u03C5\u03C4\u03AD\u03C2 \u03C4\u03B9\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03BC\u03AD\u03C3\u03C9 \u03C4\u03B7\u03C2 \u03B1\u03C0\u03BF\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5\u03BD\u03B7\u03C2 "\u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2".
-chelp.over4=\u0397 \u03B1\u03BA\u03CC\u03BB\u03BF\u03C5\u03B8\u03B7 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B4\u03B5\u03AF\u03C7\u03BD\u03B5\u03B9 \u03BC\u03B9\u03B1 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03BC\u03B5 \u03C4\u03C1\u03AF\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2.
-chelp.over7=\u0393\u03B9\u03B1 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF chat \u03BC\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B5\u03C2 \u03B5\u03C0\u03B1\u03C6\u03AD\u03C2, \u03BA\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3'\u03B1\u03C5\u03C4\u03AE \u03C4\u03B7\u03BD \u03B5\u03C0\u03B1\u03C6\u03AE \u03BA\u03B1\u03B9 \u03C4\u03BF chat \u03B8\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03B9 \u03C3\u03B5 \u03AD\u03BD\u03B1 \u03B4\u03B5\u03CD\u03C4\u03B5\u03C1\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 \u03C6\u03C5\u03BB\u03BB\u03BF\u03BC\u03B5\u03C4\u03C1\u03B7\u03C4\u03AE.
-chelp.rece=\u039B\u03AE\u03C8\u03B7 \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD
-chelp.rece1=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BB\u03AC\u03B2\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03BC\u03B5 \u03B4\u03CD\u03BF \u03C4\u03C1\u03CC\u03C0\u03BF\u03C5\u03C2\:
-chelp.rece2=\u0391\u03BD \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03BD\u03BF\u03B9\u03C7\u03C4\u03CC, \u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF \u03C5\u03C0\u03CC \u03BC\u03BF\u03C1\u03C6\u03AE \u03BC\u03B9\u03BA\u03C1\u03CE\u03BD \u03B3\u03C1\u03B1\u03BC\u03BC\u03AC\u03C4\u03C9\u03BD \u03C0\u03BF\u03C5 \u03B1\u03BD\u03B1\u03B2\u03BF\u03C3\u03B2\u03AE\u03BD\u03BF\u03C5\u03BD \u03C3\u03C4\u03B1 \u03B1\u03C1\u03B9\u03C3\u03C4\u03B5\u03C1\u03AC \u03C4\u03BF\u03C5 \u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF\u03C5 \u03C3\u03C4\u03BF \u03BC\u03B5\u03BD\u03BF\u03CD.
-chelp.rece3=\u039A\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3'\u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C3\u03CD\u03BC\u03B2\u03BF\u03BB\u03BF, \u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03AC \u03C3\u03B1\u03C2 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF.
-chelp.rece4=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03C0\u03B1\u03BD\u03C4\u03AE\u03C3\u03B5\u03C4\u03B5 \u03B1\u03BC\u03AD\u03C3\u03C9\u03C2 \u03C3\u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 (\u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF chat \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9).
-chelp.rece5=\u0391\u03BD \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AE\u03B4\u03B7 \u03B1\u03BD\u03BF\u03B9\u03C7\u03C4\u03CC, \u03BD\u03AD\u03B1 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03BF\u03CD\u03BD \u03B1\u03BC\u03AD\u03C3\u03C9\u03C2 \u03C3'\u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF.
-chelp.send=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD
-chelp.send1=\u0393\u03B9\u03B1 \u03BD\u03B1 \u03C3\u03C4\u03B5\u03AF\u03BB\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1, \u03B1\u03C0\u03BB\u03CE\u03C2 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3\u03B5 \u03AD\u03BD\u03B1 \u03CC\u03BD\u03BF\u03BC\u03B1 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1.
-chelp.send2=\u0395\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03CC\u03BD\u03BF\u03BC\u03B1, \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9 \u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03B3\u03B9\u03B1 chat.
-close=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
-help.hover.im=\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03B1 \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03B7\u03C1\u03B9\u03C3\u03C4\u03B9\u03BA\u03AC \u03C4\u03BF\u03C5 Instant Messaging
-help.hover.imsettings=\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03B7\u03BD \u03C0\u03B1\u03C1\u03B1\u03BC\u03B5\u03C4\u03C1\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C4\u03BF\u03C5 Instant Messaging
-im.buddies=\u03A6\u03AF\u03BB\u03BF\u03B9
-im.chat=Chat
-im.chat.disabled=\u03A4\u03BF Chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03C0\u03B5\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03BF. \u039A\u03B1\u03C4\u03AC \u03C4\u03B7 \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1 \u03B5\u03BD\u03CC\u03C2 \u03C4\u03B5\u03C3\u03C4 \u03B4\u03B5\u03BD \u03B8\u03B1 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BB\u03B1\u03BC\u03B2\u03AC\u03BD\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1.
-im.chat.windows.may.invalid=\u038C\u03BB\u03B1 \u03C4\u03B1 \u03C4\u03C1\u03AD\u03C7\u03BF\u03BD\u03C4\u03B1 chats \u03C4\u03B5\u03C1\u03BC\u03B1\u03C4\u03AF\u03C3\u03C4\u03B7\u03BA\u03B1\u03BD. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BA\u03BB\u03B5\u03AF\u03C3\u03C4\u03B5 \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF(\u03B1) \u03C4\u03BF\u03C5 chat.
-im.chat.with=Chat \u03BC\u03B5
-im.error.connection=\u03A4\u03BF Instant Messaging \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE
-im.hide.groups=\u0391\u03C0\u03CC\u03BA\u03C1\u03C5\u03C8\u03B7 \u03BF\u03BC\u03AC\u03B4\u03C9\u03BD
-im.hide.offline.buddies=\u0391\u03C0\u03CC\u03BA\u03C1\u03C5\u03C8\u03B7 \u03BC\u03B7 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03C9\u03BD \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
-im.new.message=\u0388\u03C7\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1.
-im.new.message.other=\u039D\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03B1\u03C0\u03CC \u03AC\u03BB\u03BB\u03BF \u03AC\u03C4\u03BF\u03BC\u03BF\: <b>{0}</b>. \u039C\u03AE\u03BD\u03C5\u03BC\u03B1\: <b>{1}</b>. \u03A4\u03BF Chat \u03C3\u03C5\u03BD\u03B5\u03C7\u03AF\u03B6\u03B5\u03B9 \u03BC\u03B5\: {2}.
-im.new.message.short=\u039D\u03AD\u03BF \u03B5\u03B9\u03C3\u03B5\u03C1\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1...
-im.others.connected=\u039F\u03B9 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B5\u03C2 \u03C4\u03BF\u03C5 OLAT \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9
-im.refresh=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03B1\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7\u03C2
-im.roster.intro=\u03A0\u03BF\u03B9\u03BF\u03C2 \u03AC\u03BB\u03BB\u03BF\u03C5\u03C2 \u03B1\u03C0\u03CC \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03BF\u03C5\u03C2 \u03BC\u03BF\u03C5 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03C2 \u03C3\u03C4\u03BF OLAT?<br />\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03AC\u03C4\u03BF\u03BC\u03BF, \u03BC\u03B5 \u03C4\u03BF \u03BF\u03C0\u03BF\u03AF\u03BF \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat.
-im.show.groups=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BF\u03BC\u03AC\u03B4\u03C9\u03BD
-im.show.offline.buddies=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BC\u03B7 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03C9\u03BD \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
-im.start.chat=\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF chat.
-im.status=\u039A\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\:
-im.status.change=\u0391\u03BB\u03BB\u03B1\u03B3\u03AE \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 
-im.status.change.long=\u0391\u03BB\u03BB\u03B1\u03B3\u03AE \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 Instant Messaging 
-im.status.msg=\u039A\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03BF\u03C2\:
-new.status=\u039D\u03AD\u03B1 \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\:
-presence.available=\u0394\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF
-presence.away=\u0391\u03C0\u03CE\u03BD
-presence.chat=\u0398\u03B1 \u03AE\u03B8\u03B5\u03BB\u03B1 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03C9 chat
-presence.dnd=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BC\u03B7\u03BD \u03B5\u03BD\u03BF\u03C7\u03BB\u03B5\u03AF\u03C4\u03B5
-presence.offline=\u0395\u03BA\u03C4\u03CC\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2
-presence.unavailable=\u039C\u03B7 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF
-presence.xa=\u0391\u03C0\u03CE\u03BD \u03B3\u03B9\u03B1 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03BF \u03C7\u03C1\u03CC\u03BD\u03BF
-refresh=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7
-rosterClose=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
-start.chat.with=\u03A4\u03BF Chat \u03B8\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03B9 \u03BC\u03B5\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_en.properties
deleted file mode 100644
index e90c41bf24dae6ae5705648fa7ac2c62a9f04121..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_en.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-#Sun Jan 23 13:05:41 CET 2011
-chat.partner.signed.off=[has logged off]
-chat.with.yourself=Do you really want to chat with yourself?
-chelp.add=Manage group list contacts
-chelp.add1=Contacts can be added or removed via the <i>$org.olat.group.ui\:LearningGroup</i> of OLAT.
-chelp.add2=Provided that you are the owner of a <i>$org.olat.group.ui\:LearningGroup</i> you can invite or disinvite joint owners or participants to your group.
-chelp.add3=These persons will then appear on your group list of the OLAT chat.
-chelp.chan1=You can change your own status by clicking on the star symbol before selecting one of the available statuses.
-chelp.chan2=When the group list is deactivated the indication (3/6) next to the star symbol tells you how many of your colleagues are logged on and available at the moment.
-chelp.chan3=By clicking on that list the entire group list will be visible including the names and status of your colleagues.
-chelp.client=Chat using an external Instant Messaging program
-chelp.client1=If you want to chat using an external Instant Messaging program you will find useful information in your "Home", section "Settings", "Instant Messaging". 
-chelp.group=Join a group chat
-chelp.group1=Links to chatrooms are found at different places in OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Click on the link <i>Start chat</i>.
-chelp.group3=A new window will be opened and you can start your group chat.
-chelp.group4=Messages to a chatroom are sent to all persons in that room.
-chelp.group5=A list of all participants will be displayed next to your chat window.
-chelp.group6=If you want to exit the chatroom, just close that window.
-chelp.imgAlt1=Image of a group list with contacts of different statuses
-chelp.instant-messenger.title=Instant Messaging functions
-chelp.over=Overview
-chelp.over1=Instant Messaging (IM) allows the exchange of messages with persons in real time--commonly known as "chat".
-chelp.over2=Information on the availability of potential chat partners is important.
-chelp.over3=You get this information by means of a "Buddy" list.
-chelp.over4=When moving the curser over your chat partner's name you will see his/her current status.
-chelp.over7=To begin chatting with one of the available contacts, click on that contact and the chat will be started in a chat window.
-chelp.rece=Receive messages
-chelp.rece1=Messages can be received in two ways\:
-chelp.rece2=If the chat window is not open, messages will appear in form of little blinking letters on the left of the star symbol in the menu.
-chelp.rece3=By clicking on this symbol your message will appear.
-chelp.rece4=A chat window will be opened to send your reply.
-chelp.rece5=If the chat window is already open, new messages will be immediately displayed in this window.
-chelp.send=Send messages
-chelp.send1=In order to send a message you just click on a name within the group list.
-chelp.send2=By selecting a name a new chat window will be opened.
-close=Close
-help.hover.im=Help regarding the features of Instant Messaging
-help.hover.imsettings=Help regarding the configuration of Instant Messaging
-im.buddies=Buddies
-im.chat=Chat
-im.chat.disabled=Chat deactivated. During a test you will not be able to receive messages.
-im.chat.windows.may.invalid=All ongoing chats terminated. Please close chat window(s).
-im.chat.with=Chat with
-im.error.connection=Instant Messaging is currently not available
-im.hide.groups=Hide groups
-im.hide.offline.buddies=Hide offline contacts
-im.new.message=You have a new message from\: {0}
-im.new.message.other=New message from another person\: <b>{0}</b>. Message\: <b>{1}</b>. Chat continues with\: {2}.
-im.new.message.short=New incoming message...
-im.others.connected=People are online
-im.refresh=Refresh display
-im.roster.intro=Who else from my group colleagues are logged on to OLAT?<br>Select one person you want to chat with.
-im.show.groups=Show groups
-im.show.offline.buddies=Show offline contacts
-im.start.chat=Click here to start the chat.
-im.status=Status\:
-im.status.change=Change status 
-im.status.change.long=Change Instant Messaging status 
-im.status.msg=Status msg\:
-new.status=New status\:
-presence.available=Available
-presence.away=Absent
-presence.chat=I would like to chat
-presence.dnd=Please do not disturb
-presence.offline=Offline
-presence.unavailable=Not available
-presence.xa=Absent for longer
-refresh=Refresh
-rosterClose=Close
-start.chat.with=Chat will be started with\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_es.properties
deleted file mode 100644
index 6198fcec2b9bb3fd1f255df86080320a00d839f1..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_es.properties
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Jul 28 13:33:33 CEST 2010
-chat.with.yourself=\u00BFQuieres chatear contigo?
-chelp.add=Administrar grupos de lista de contactos
-chelp.add1=Los contactos pueden a\u00F1adirse o eliminarse mediante el <i>$org.olat.group.ui\:LearningGroup</i> de OLAT.
-chelp.add2=Si eres el propietario de un <i>$org.olat.group.ui\:LearningGroup</i> puedes invitar o rechazar la union de propietarios o participantes a tu grupo.
-chelp.add3=Estas personas aparecer\u00E1n en tu lista de grupo del chat OLAT.
-chelp.chan1=Puedes cambiar tu estado pinchando en el s\u00EDmbolo de estrella y despu\u00E9s en uno de los estados disponibles.
-chelp.chan2=(3/6) te dice cuantos compa\u00F1eros est\u00E1n conectados y disponibles en este momento.
-chelp.chan3=Pinchando en el sumario la lista de grupo completa ser\u00E1 visible incluyendo los nombres y estados de tus compa\u00F1eros.
-chelp.client=Chatear con un cliente de Mensajer\u00EDa Instant\u00E1nea externo
-chelp.client1=Si quieres usar una software externo para la Mensajer\u00EDa Instant\u00E1nea tienes todos los datos relevantes (usuario, contrase\u00F1a etc.) en "Inicio\: Opciones\: Mensajer\u00EDa Instant\u00E1nea". 
-chelp.group=Unirse a un grupo de chat
-chelp.group1=Los enlaces a las salas de chat se encuentran en diferentes lugares en OLAT (ej. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Pincha en el enlace <i>Iniciar chat</i>.
-chelp.group3=Se abrir\u00E1 una nueva ventana y podr\u00E1s entrar en el chat de grupo.
-chelp.group4=Los mensajes a la sala de chat se env\u00EDan a todas las personas que hay en esa sala.
-chelp.group5=La lista de todos los participantes se mostrar\u00E1 cerca de la ventana de mensajes.
-chelp.group6=Si quieres salir de una sala de chat, cierra la ventana.
-chelp.imgAlt1=Imagen de lista de grupo con contactos en diferentes estados
-chelp.instant-messenger.title=Funciones de Mensajer\u00EDa Instant\u00E1nea
-chelp.over=Vista R\u00E1pida
-chelp.over1=La Mensajer\u00EDa Instant\u00E1nea (MI) permite el intercambio de mensajes con personas en tiempo real - el llamado "chat".
-chelp.over2=La informaci\u00F3n sobre la disponibilidad de potenciales compa\u00F1eros de chat es importante.
-chelp.over3=Obt\u00E9n esta informaci\u00F3n mediante la llamada "lista de grupo".
-chelp.over4=La siguiente imagen muestra una lista de grupo con 3 personas en diferentes estados.
-chelp.over7=Para comenzar un chat con un contacto que est\u00E1 disponible, pincha en el contacto y el chat comenzar\u00E1 en una segunda ventana del navegador.
-chelp.rece=Recibir mensajes
-chelp.rece1=Los mensajes se pueden recibir de dos maneras\:
-chelp.rece2=Si la ventana de chat no est\u00E1 abierta, los mensajes aparecer\u00E1n en el formulario de letras peque\u00F1as parpadeantes de la izquierda del s\u00EDmbolo estrella en el men\u00FA.
-chelp.rece3=Pinchando en el s\u00EDmbolo aparecer\u00E1 tu mensaje.
-chelp.rece4=Puedes contestar a este mensaje inmediatamente (se abrir\u00E1 una nueva ventana) o eliminar el mensaje.
-chelp.rece5=Si la ventana de chat ya esta abierta, los nuevos mensajes se mostrar\u00E1n inmediatamente en esta ventana.
-chelp.send=Enviar mensajes
-chelp.send1=Para enviar mensajes a alguien puedes pinchar en el nombre concreto en la lista de grupo o seleccionar un compa\u00F1ero de la lista de todos los usuarios en l\u00EDnea.
-chelp.send2=Seleccionando un nombre se abrir\u00E1 una nueva ventana.
-close=Cerrar
-help.hover.im=Ayuda con los posibilidades del chat/IM (Instant Messaging)
-help.hover.imsettings=Ayuda con la configuraci\u00F3n del chat/IM (Instant Messaging)
-im.buddies=Buddies/Contactos
-im.chat=Chatear
-im.chat.disabled=Chat deactivado. Duranto un test/examen no puedes recibir mensajes.
-im.chat.windows.may.invalid=Todas las sesiones de chat en curso fueron terminadas. Por favor cierra la(s) ventana(s) de chat.
-im.chat.with=Chatear con
-im.error.connection=Instant Messaging/Chat no esta disponible
-im.hide.groups=Ocultar grupos
-im.hide.offline.buddies=Ocultar contactos "offline"
-im.new.message=Tienes un nuevo mensaje.
-im.new.message.other=Tienes un nuevo mensaje de\: <b>{0}</b>. Mensaje\: <b>{1}</b>. Continuar chat con\: {2}.
-im.others.connected=Usuarios OLAT conectados
-im.refresh=Actualizar ventana
-im.roster.intro=\u00BFQui\u00E9n de mis grupos est\u00E1 en l\u00EDnea en OLAT?<br />Seleccionar un usuario para empezar un nuevo chat.
-im.show.groups=Mostrar grupos
-im.show.offline.buddies=Mostrar contactos "offline"
-im.start.chat=Click para empezar un nuevo chat.
-im.status=Status\:
-im.status.change=Cambiar status 
-im.status.change.long=Cambiar Instant Messaging status 
-im.status.msg=Status mensaje\:
-new.status=Nuevo estado\:
-presence.available=Disponible
-presence.away=Ausente
-presence.chat=Me gustar\u00EDa chatear
-presence.dnd=No molestar
-presence.offline=Offline
-presence.unavailable=No disponible
-presence.xa=Ausente por tiempo
-refresh=Actualizar
-rosterClose=Cerrar
-start.chat.with=Empezar chat con\:
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_fr.properties
deleted file mode 100644
index 363931f680236eef8a1dbc76f5dee81c78909073..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_fr.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-#Fri Jan 21 12:21:13 CET 2011
-chat.partner.signed.off=[s'est d\u00E9connect\u00E9]
-chat.with.yourself=Voulez-vous vraiment chatter avec vous-m\u00EAme?
-chelp.add=G\u00E9rer les contacts dans la liste des groupes
-chelp.add1=Les contacts peuvent \u00EAtre ajout\u00E9s ou enlev\u00E9s via <i>$org.olat.group.ui\:LearningGroup</i> .
-chelp.add2=Si vous \u00EAtes propri\u00E9taire d'un <i>$org.olat.group.ui\:LearningGroup</i>, vous pouvez inviter ou exclure de votre groupe des co-propri\u00E9taires et des participants.
-chelp.add3=Ces personnes apparaissent alors dans votre liste des groupes dans le chat OLAT.
-chelp.chan1=Vous pouvez changer le propre statut en cliquant sur l'ic\u00F4ne \u00E9toile et en choisissant un des statuts propos\u00E9s.
-chelp.chan2=L'indication (3/6) montre combien de mes coll\u00E8gues sont enregistr\u00E9s et disponibles dans OLAT \u00E0 ce moment.
-chelp.chan3=En cliquant sur cette indication, toute la liste des coll\u00E8gues, avec leur nom et statut, est rendu visible.
-chelp.client=Chatter avec un logiciel de messagerie instantan\u00E9e externe
-chelp.client1=Si vous voulez chatter avec un logiciel de messagerie instantan\u00E9e externe, vous trouverez les indications n\u00E9cessaire dans "accueil", "R\u00E9glages", "Messagerie instantan\u00E9e". 
-chelp.group=Joindre un chat de groupe
-chelp.group1=Il existe diff\u00E9rents espace de chat dans diff\u00E9rents endroits de OLAT  (par ex. <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Cliquez sur le lien <i>D\u00E9marrer chat</i>.
-chelp.group3=Une nouvelle fen\u00EAtre s'ouvre et vous entrez dans le chat de groupe.
-chelp.group4=Les messages envoy\u00E9s \u00E0 un chatroom seront envoy\u00E9s \u00E0 toutes les personnes se trouvant dans cet espace.
-chelp.group5=Le liste des participants est visible \u00E0 c\u00F4t\u00E9 de la fen\u00EAtre de message.
-chelp.group6=Si vous voulez quitter le chatroom, fermez la fen\u00EAtre.
-chelp.imgAlt1=Aper\u00E7u d'une liste des groupes avec des contacts de statuts diff\u00E9rents
-chelp.instant-messenger.title=Fonctions de la messagerie instantan\u00E9e
-chelp.over=Aper\u00E7u
-chelp.over1=La messagerie instantan\u00E9e (IM) permet l'\u00E9change de messages avec d'autres personnes en temps r\u00E9el, le soi-disant "chat".
-chelp.over2=L'information importante en est la disponibilit\u00E9 des partenaires de chat potentiel(les).
-chelp.over3=Cette information est fournie par la "liste des copains".
-chelp.over4=Si vous passez avec la souris sur les noms des partenaires du chat, leur statut est affich\u00E9.
-chelp.over7=Pour commencer un chat avec un contact disponible, vous cliquez sur le contact et le chat d\u00E9marre dans une nouvelle fen\u00EAtre de navigation.
-chelp.rece=Recevoir un message
-chelp.rece1=Vous pouvez recevoir des messages de deux mani\u00E8res\:
-chelp.rece2=Si la fen\u00EAtre de chat n'est pas ouverte, les messages apparaissent comme une petite enveloppe \u00E0 c\u00F4t\u00E9 du r\u00E9sum\u00E9 de la liste des groupes.
-chelp.rece3=Si vous cliquez sur ce symboles, le message appara\u00EEt.
-chelp.rece4=Vous pouvez imm\u00E9diatement r\u00E9pondre \u00E0 ce message (une nouvelle fen\u00EAtre s'ouvrira) ou supprimer le message.
-chelp.rece5=Si la fen\u00EAtre de navigation est d\u00E9j\u00E0 ouverte, les nouveaux messages sont affich\u00E9s directement dans cette fen\u00EAtre.
-chelp.send=Envoyer un message
-chelp.send1=Pour envoyer des messages \u00E0 une personne, vous pouvez ou bien cliquer sur le nom de la personne dans la liste des groupes, ou bien vous choisissez votre partenaire dans la liste de tous les utilisateurs en ligne.
-chelp.send2=En s\u00E9lectionnant un nom, une nouvelle fen\u00EAtre s'ouvre dans votre navigateur.
-close=Fermer
-help.hover.im=Aide pour les fonctions de messagerie instantan\u00E9e
-help.hover.imsettings=Aide \u00E0 la configuration de la messagerie instantan\u00E9e
-im.buddies=Buddies
-im.chat=Chat
-im.chat.disabled=Chat d\u00E9savtiv\u00E9. Pendant un test, vous ne pouvez pas recevoir de message.
-im.chat.windows.may.invalid=Les chats en cours ont \u00E9t\u00E9 termin\u00E9s, veuillez fermer les fen\u00EAtres de chat en question.
-im.chat.with=Chat avec
-im.error.connection=La messagerie instantan\u00E9e n'est pas \u00E0 disposition pour le moment
-im.hide.groups=Cache groupes
-im.hide.offline.buddies=Cache les contacts d\u00E9connect\u00E9s
-im.new.message=Vous avez un nouveau message.
-im.new.message.other=Nouveau message d'une personne\: <b>{0}</b>. Message\: <b>{1}</b>. Chat continue avec {2}.
-im.new.message.short=Nouveau message de chat...
-im.others.connected=utilisateurs OLAT sont en ligne
-im.refresh=Rafra\u00EEchir l'affichage
-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.show.groups=Montre groupes
-im.show.offline.buddies=Montre les contacts d\u00E9connect\u00E9s
-im.start.chat=Clique pour d\u00E9marrer le chat.
-im.status=Statut\:
-im.status.change=Changer de statut
-im.status.change.long=Changer le statut de la messagerie instantan\u00E9e
-im.status.msg=Statut Msg\:
-new.status=Nouvel statut\:
-presence.available=Disponible
-presence.away=Absent(e)
-presence.chat=Je veux bavarder
-presence.dnd=Ne pas d\u00E9ranger
-presence.offline=Indisponible
-presence.unavailable=Indisponible
-presence.xa=Absent(e) longtemps
-refresh=refresh
-rosterClose=close
-start.chat.with=chat est d\u00E9marr\u00E9 avec\:
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_it.properties
deleted file mode 100644
index 0aae284efcd10a54aa751516d9ecc68b0c09778a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_it.properties
+++ /dev/null
@@ -1,71 +0,0 @@
-#Fri Jan 21 11:49:22 CET 2011
-chat.partner.signed.off=[si \u00E8 scollegato]
-chat.with.yourself=Vuole veramente chattare con se stessa/o?
-chelp.add=Gestire i contatti della lista dei gruppi
-chelp.add1=I contatti possono venire aggiunti o eliminati attraverso il <i>$org.olat.group.ui\:LearningGroup</i> di OLAT.
-chelp.add2=Nel caso Lei sia proprietaria/o di un <i>$org.olat.group.ui\:LearningGroup</i>, pu\u00F2 invitare nel Suo gruppo o disiscrivere dal Suo gruppo altri coproprietari o partecipanti.
-chelp.add3=Queste persone compaiono in seguito nella Sua lista dei gruppi nella chat OLAT.
-chelp.chan1=\u00C8 possibile cambiare il proprio stato cliccando il simbolo a stella e selezionando in seguito uno degli stati elencati.
-chelp.chan2=L'informazione (3/6) \u00E8 un riassunto della lista dei gruppi e indica quanti dei Suoi colleghi sono attualmente connessi a OLAT e disponibili.
-chelp.chan3=Cliccando sul riassunto pu\u00F2 visualizzare la lista completa dei gruppi con i nomi e lo stato dei Suoi colleghi.
-chelp.client=Chattare con un programma di messaggeria istantanea esterno
-chelp.client1=Se desidera chattare con un programma di messaggeria istantanea esterno, pu\u00F2 trovare le informazioni necessarie nella Sua pagina iniziale sotto "Preferenze". 
-chelp.group=Entrare in una chat di gruppo
-chelp.group1=Esistono ambienti chat OLAT in diversi luoghi (ad es. <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Clicchi il link <i>Avviare chat</i>.
-chelp.group3=Si apre una nuova finestra e Lei pu\u00F2 accedere alla chat di gruppo.
-chelp.group4=I messaggi inviati a un ambiente chat vengono trasmessi a tutte le persone presenti nell'ambiente.
-chelp.group5=La lista dei partecipanti \u00E8 visibile accanto alla finestra dei messaggi.
-chelp.group6=Nel caso voglia abbandonare l'ambiente, chiuda la finestra.
-chelp.imgAlt1=Esempio di una lista dei gruppi con contatti in stato differente
-chelp.instant-messenger.title=Funzioni di messaggeria istantanea
-chelp.over=Informazioni generali
-chelp.over1=La messaggeria istantanea (MI) consente lo scambio di messaggi in tempo reale tra utenti - la cosiddetta "chat".
-chelp.over2=\u00C8 fondamentale l'informazione relativa alla disponibilit\u00E0 di potenziali partner di chat.
-chelp.over3=Questa informazione viene fornita dalla cosiddetta "Lista dei gruppi".
-chelp.over4=L'illustrazione sottostante mostra una lista dei gruppi comprendente 3 persone con stati diversi.
-chelp.over7=Per avviare una chat con i contatti disponibili, clicchi il contatto da Lei scelto\: una nuova finestra del browser Le permetter\u00E0 di chattare.
-chelp.rece=Ricevere messaggi
-chelp.rece1=Si possono ricevere messaggi in due modi\:
-chelp.rece2=Nel caso la finestra di chat non sia aperta, i messaggi appaiono in forma di piccola busta intermittente accanto al simbolo a stella nella barra del menu.
-chelp.rece3=Cliccandovi sopra, appare il messaggio.
-chelp.rece4=Pu\u00F2 subito rispondere a questo messaggio (si apre una nuova finestra) o cancellarlo.
-chelp.rece5=Se la finestra di chat \u00E8 gi\u00E0 aperta, i nuovi messaggi vi appaiono direttamente.
-chelp.send=Inviare messaggi
-chelp.send1=Per inviare un messaggio a una persona pu\u00F2 cliccare sul nome della persona nella lista dei gruppi, oppure selezionare il Suo partner di chat dalla lista comprendente tutti gli utenti attualmente online.
-chelp.send2=Si aprir\u00E0 quindi una nuova finestra.
-close=Chiudi
-help.hover.im=Aiuto per le funzioni di messaggeria istantanea
-help.hover.imsettings=Aiuto per la configurazione della messaggeria istantanea
-im.buddies=Buddies
-im.chat=Chat
-im.chat.disabled=Chat disabilitato. Durante un test non pu\u00F2 ricevere messaggi.
-im.chat.windows.may.invalid=Le chat in corso sono state terminate, chiuda le eventuali finestre chat, p.f.
-im.chat.with=Chat con
-im.error.connection=La messaggeria istantanea non \u00E8 attualmente disponibile
-im.hide.groups=Nascondere gruppi
-im.hide.offline.buddies=Nascondere contatti offline
-im.new.message=Nuovo messaggio in attesa.
-im.new.message.other=Nuovo messaggio da un'altra persona\: <b>{0}</b>. Messaggio\: <b>{1}</b>. Chat prosegue con\: {2}.
-im.new.message.short=Nuovo messaggio chat...
-im.others.connected=Utenti OLAT sono online
-im.refresh=Attualizza
-im.roster.intro=Quali tra i colleghi dei miei gruppi sono connessi a OLAT?<br />Selezioni una persona con cui desidera chattare.
-im.show.groups=Mostra gruppi
-im.show.offline.buddies=Mostra contatti offline
-im.start.chat=Clicca per avviare chat\:
-im.status=Stato\:
-im.status.change=Cambia stato
-im.status.change.long=Cambiare lo stato della messaggeria istantanea
-im.status.msg=Stato msg\:
-new.status=Nuovo stato\:
-presence.available=Disponibile
-presence.away=Assente
-presence.chat=Vorrei chattare
-presence.dnd=Non disturbare, p.f.
-presence.offline=Non disponibile
-presence.unavailable=Non disponibile
-presence.xa=Assente a lungo
-refresh=attualizza
-rosterClose=close
-start.chat.with=Avviamento chat con\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_jp.properties
deleted file mode 100644
index 98288ad58e05754715a75dbfde6876bdb1cbcfbc..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_jp.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Jul 17 19:45:46 CEST 2009
-chelp.group5=\u3059\u3079\u3066\u306E\u53C2\u52A0\u8005\u30EA\u30B9\u30C8\u306F\u3001\u3042\u306A\u305F\u306E\u30C1\u30E3\u30C3\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u96A3\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-im.chat.disabled=\u30C1\u30E3\u30C3\u30C8\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3057\u305F\u3002\u30C6\u30B9\u30C8\u4E2D\u3001\u3042\u306A\u305F\u306F\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3067\u304D\u307E\u305B\u3093\u3002
-im.start.chat=\u30C1\u30E3\u30C3\u30C8\u3092\u30B9\u30BF\u30FC\u30C8\u3059\u308B\u306B\u306F\u3001\u3053\u3053\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-im.status=\u30B9\u30C6\u30FC\u30BF\u30B9\:
-im.status.change=\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u5909\u66F4\u3059\u308B
-new.status=\u65B0\u3057\u3044\u30B9\u30C6\u30FC\u30BF\u30B9\:
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_lt.properties
deleted file mode 100644
index c0c181805a39d707a32f029b10e45c7e7908ed6e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_lt.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-#Wed Jul 28 13:33:30 CEST 2010
-chelp.add=Tvarkyti grup\u0117s s\u0105ra\u0161o kontaktus
-chelp.add1=Kontaktai gali b\u016Bti pridedami arba i\u0161trinami su <i>$org.olat.group.ui\:LearningGroup</i> OLAT.  
-chelp.add2=Jeigu j\u016Bs esate <i>$org.olat.group.ui\:LearningGroup</i> \u0161eimininkas, j\u016Bs galite pakviesti arba at\u0161aukti kvietim\u0105 prisijungusi\u0173 savinink\u0173 arba dalyvi\u0173 prie j\u016Bs\u0173 grup\u0117s.
-chelp.add3=\u0160ie asmenys atsiras j\u016Bs\u0173 grup\u0117s s\u0105ra\u0161e OLAT pokalbi\u0173 kanale.
-chelp.chan1=J\u016Bs galite keisti savo b\u016Bsen\u0105, spragtel\u0117jus ant \u017Evaig\u017Edut\u0117s simbolio prie\u0161 pasirenkant b\u016Bsen\u0105. 
-chelp.chan2=(3/6) parodo kiek i\u0161 j\u016Bs\u0173 koleg\u0173 yra \u0161iuo metu prisijung\u0119 ir pasiekiami.
-chelp.chan3=Paspaudus ant santraukos, jums bus matomas visas grup\u0117 s\u0105ra\u0161as su j\u016Bs\u0173 koleg\u0173 vardais ir j\u0173 b\u016Bsenomis.
-chelp.group=Prisijungti prie grup\u0117s pokalbi\u0173 kanalo
-chelp.group1=Nuorodos \u012F pokalbi\u0173 kanalus yra skirtinguose OLAT vietose (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Spustel\u0117kite nuorod\u0105 <i>Prad\u0117ti pokalb\u012F</i>.
-chelp.group3=Atsivers naujas langas ir jame j\u016Bs pateksite \u012F grup\u0117s pokalbi\u0173 kanal\u0105.
-chelp.group4=Pokalbi\u0173 kambaryje \u017Einut\u0117s yra i\u0161siun\u010Diamos visiems asmenims esantiems kanale.
-chelp.group5=Dalyvi\u0173 s\u0105ra\u0161as yra pateikiamas \u0161alia \u017Einut\u0117s lango.
-chelp.group6=Jeigu norite i\u0161eiti i\u0161 pokalbio kanalo papras\u010Diausiai u\u017Edarykite t\u0105 lang\u0105.
-chelp.imgAlt1=Grup\u0117s s\u0105ra\u0161o vaizdas su skirting\u0173 b\u016Bsen\u0173 kontaktais
-chelp.instant-messenger.title=Trump\u0173j\u0173 \u017Einu\u010Di\u0173 funkcijos
-chelp.over=Per\u017Ei\u016Bra
-chelp.over1=Trumposios \u017Einut\u0117s leid\u017Eia keistis informacija pokalbi\u0173 kanale su asmeniu realiuoju laiku.
-chelp.over2=Informacija apie potencial\u0173 pokalbio partner\u012F yra b\u016Btina
-chelp.over3=J\u016Bs gausite \u0161i\u0105 informacij\u0105 su taip vadinamo \u201Cgrup\u0117s s\u0105ra\u0161o\u201D pagalba.
-chelp.over4=\u0160is paveiksl\u0117lis rodo grup\u0117s s\u0105ra\u0161\u0105 su 3 asmens skirtingomis b\u016Bsenomis.
-chelp.over7=Norint prad\u0117ti susira\u0161in\u0117ti su vienu i\u0161 pasiekiam\u0173 adresat\u0173, reikia spragtel\u0117ti ant to adresato ir tuomet atsivers kitas pokalbio langas.
-chelp.rece=Gauti \u017Einut\u0119
-chelp.rece1=\u017Dinut\u0117s gali b\u016Bti gaunamos dviem b\u016Bdais\:
-chelp.rece2=Jeigu pokalbio langas yra neatidarytas, \u017Einut\u0117 pasirodys kaip ma\u017Eos mirksin\u010Dios raid\u0117s meniu  \u017Evaig\u017Ed\u0117s \u017Eenkliuko kair\u0117je pus\u0117je.
-chelp.rece3=J\u016Bs\u0173 \u017Einut\u0117 atsiras paspaudus ant \u0161io simbolio.
-chelp.rece4=J\u016Bs galite i\u0161 karto atsakyti \u012F \u0161i\u0105 \u017Einut\u0119 (atsidarys naujas langas) arba j\u0105 i\u0161trinti.
-chelp.rece5=Jei pokalbio langas jau yra atidarytas, nauja \u017Einut\u0119 i\u0161 karto pasirodys \u0161iame lange.
-chelp.send=Si\u0173sti \u017Einut\u0119
-chelp.send1=Norint  i\u0161si\u0173sti \u017Einut\u0119, reikia spragtel\u0117ti ant norimo vardo i\u0161 grup\u0117s s\u0105ra\u0161o arba  pasirinkti pa\u0161nekov\u0105 i\u0161 vis\u0173 prisijungusi\u0173 asmen\u0173  s\u0105ra\u0161o.
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_nl_NL.properties
deleted file mode 100644
index db381e126bbe9c867648f1b53051f19a494f0a6c..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_nl_NL.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Thu Sep 08 16:42:46 CEST 2011
-chat.with.yourself=Weet u zeker dat u met uzelf wilt chatten?
-chelp.add=Groepslijst met contacten beheren
-chelp.add1=Contacten kunnen toegevoegd of verwijderd worden via de <i>$org.olat.group.ui\:LearningGroup</i> van OLAT.
-chelp.add2=Voorzien dat u de eigenaar bent van een <i>$org.olat.group.ui\:LearningGroup</i> kunt u gezamelijke eigenaars of cursisten uitnodigen of onuitnodigen tot uw groep.
-chelp.add3=Deze personen zullen dan verschijnen in uw groepslijst van de OLAT chat.
-chelp.chan1=U kunt uw eigen status veranderen door te klikken op het stersymbool voordat u op \u00E9\u00E9n van de beschikbare statussen selecteert.
-chelp.chan2=Wanneer de groepslijst gedeactiveerd is, zal de indicatie (3/6) naast het stersymbolen verschijnen om u te vertellen hoeveel collega's op dat moment ingelogd en beschikbaar zijn.
-chelp.chan3=Door op die lijst te klikken, zal de gehele groepslijst zichtbaar worden, inclusief de namen en statussen van uw collega's.
-chelp.client=Chatten met een extern Instant Messagaging programma
-chelp.client1=Als u wilt chatten met een extern Instant Messaging programma, vindt u nuttige informatie in uw "Home", sectie "Instellingen", "Instant Messaging".
-chelp.group=Een groep chat betreden
-chelp.group1=Links naar chatrooms worden gevonden op verschillende plaatsen in OLAT (b.v. <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Klik op de link  <i>Start chat</i>.
-chelp.group3=Er zal een nieuw venster openen en u kunt beginnen met uw groep chat.
-chelp.group4=Berichten in een chatroom worden verzonden naar alle personen in die chatroom.
-chelp.group5=Een lijst van alle deelnemers zal weergegeven worden naast uw chatvenster.
-chelp.group6=Als u de chatroom wilt verlaten, moet u enkel het venster sluiten.
-chelp.imgAlt1=Afbeelding van een groepslijst met contacten en verschillende statussen.
-chelp.instant-messenger.title=Instant Messaging functies
-chelp.over=Overzicht
-chelp.over1=Instant Messaging (IM) staat de uitwisseling van berichten met personen in de werkelijkheid toe -- Algemeen gekend als "chat".
-chelp.over2=Informatie over de beschikbaarheid van potenti\u00EBle chatpartners is belangrijk.
-chelp.over3=U verkrijgt deze informatie doormiddel van een "Buddy" lijst.
-chelp.over4=Wanneer u de curser over de naam van uw chatpartner beweegt, zal u zijn/haar huidige status zien.
-chelp.over7=Om te beginnen chatten met een van de beschikbare contacten, klik op die contact om te chatten en de chat zal dan beginnen in een chatvenster.
-chelp.rece=Ontvangen berichten
-chelp.rece1=Berichten kunnen op twee manieren ontvangen worden\:
-chelp.rece2=Als het chatvenster niet open is, zullen berichten verschijnen in de vorm van kleine flikkerende letters aan de linkerkant van het stersymbool in het menu.
-chelp.rece3=Door op dit symbool te klikken, zal uw bericht verschijnen.
-chelp.rece4=Een chatvenster zal geopend worden om uw antwoord te verzenden.
-chelp.rece5=Als het chatvenster al open is, zullen nieuwe berichten meteen in dit venster getoond worden.
-chelp.send=Verstuur berichten
-chelp.send1=Om een bericht te verzenden moet u gewoon klikken op een naam uit de groepslijst.
-chelp.send2=Door een naam te selecteren zal er een nieuw chatvenster openen.
-close=Sluiten
-help.hover.im=Hulp betreffende de functies van Instant Messaging
-help.hover.imsettings=Hulp betreffende de configuratie van Instant Messaging
-im.buddies=Buddies
-im.chat=Chat
-im.chat.disabled=Chat gedeactiveerd. Tijdens een test zal u geen berichten kunnen ontvangen.
-im.chat.windows.may.invalid=Alle lopende chats werden be\u00EBindigd. Gelieve de chatvensters te sluiten.
-im.chat.with=Chatten met
-im.error.connection=Instant Messaging is tijdelijk niet beschikbaar
-im.hide.groups=Verberg groepen
-im.hide.offline.buddies=Verberg offline contacten
-im.new.message=U heeft een nieuw bericht van\: {0}
-im.new.message.other=Nieuw bericht van een andere persoon\: <b>{0}</b>. Bericht\: <b>{1}</b>. Chat gaat verder met\: {2}.
-im.new.message.short=Nieuw binnenkomend bericht...
-im.others.connected=Personen zijn online
-im.refresh=Weergave verversen
-im.roster.intro=Wie van mijn collega's zijn nog ingelogd op OLAT?<br> Selecteer \u00E9\u00E9n persoon waarmee je wenst te chatten.
-im.show.groups=Toon groepen
-im.show.offline.buddies=Toon offline contacten
-im.start.chat=Klik hier om de chat te starten.
-im.status=Status\:
-im.status.change=Verander status
-im.status.change.long=Verander Instant Messaging status
-im.status.msg=Status msg\:
-new.status=Nieuwe status\:
-presence.available=Beschikbaar
-presence.away=Afwezig
-presence.chat=I zou graag chatten
-presence.dnd=Gelieve niet te storen
-presence.offline=Offline
-presence.unavailable=Niet beschikbaar
-presence.xa=Voor langere tijd afwezig
-refresh=Verversen
-rosterClose=Sluiten
-start.chat.with=Chat zal gestart worden met\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pl.properties
deleted file mode 100644
index 150fe8a3b6a9b5382db628b355b7accaf7d58b90..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pl.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Jul 28 13:33:32 CEST 2010
-chat.with.yourself=Czy naprawd\u0119 chcesz czatowa\u0107 sam ze sob\u0105?
-chelp.add=Zarz\u0105dzaj kontaktami
-chelp.add1=Kontakty mog\u0105 by\u0107 dodawane lub usuwane poprzez <i>$org.olat.group.ui\:LearningGroup</i> .
-chelp.add2=Zak\u0142adaj\u0105c, \u017Ce jeste\u015B w\u0142a\u015Bcicielem <i>$org.olat.group.ui\:LearningGroup</i>, mo\u017Cesz zaprasza\u0107 lub wyprasza\u0107 wsp\u00F3\u0142w\u0142a\u015Bcicieli lub uczestnik\u00F3w do swojej grupy.
-chelp.add3=Te osoby pojawi\u0105 si\u0119 na twojej li\u015Bcie grupy.
-chelp.chan1=Mo\u017Cesz zmieni\u0107 sw\u00F3j stan klikaj\u0105c na symbol gwiazdki i wybieraj\u0105c jeden z dost\u0119pnych stan\u00F3w.
-chelp.chan2=(3/6) informuje ci\u0119, ilu twoich koleg\u00F3w jest zalogowanych i dost\u0119pnych w danym momencie.
-chelp.chan3=Po klikni\u0119ciu na podsumowanie zobaczysz ca\u0142\u0105 list\u0119 grupy wray y naywami i stanami twoich koleg\u00F3w.
-chelp.client=Czatuj u\u017Cywaj\u0105c zawn\u0119trznego klienta komunikatora
-chelp.client1=Je\u015Bli chcesz rozmawia\u0107 u\u017Cywaj\u0105c zewn\u0119trznego komunikatora, potrzebne informacje znajdziesz na\: "Strona g\u0142\u00F3wna", w sekcji "Ustawienia", "Komunikator".
-chelp.group=Do\u0142\u0105cz do czata grupy
-chelp.group1=Linki do pokoj\u00F3w czata s\u0105 dost\u0119pne w r\u00F3\u017Cnych miejscach w OLAT (np. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Kliknij link <i>Uruchom czat</i>.
-chelp.group3=Pojawi si\u0119 nowe okno i b\u0119dziesz m\u00F3g\u0142 do\u0142\u0105czy\u0107 do czata grupy.
-chelp.group4=Wiadomo\u015Bci do ca\u0142ego pokoju czata s\u0105 wysy\u0142ane do wszystkich os\u00F3b znajduj\u0105cych si\u0119 w tym pokoju.
-chelp.group5=Lista uczestnik\u00F3w zostanie wy\u015Bwietlona obok okna wiadomo\u015Bci.
-chelp.group6=Je\u015Bli chcesz wyj\u015B\u0107 z pokoju czata, zamknij okno.
-chelp.imgAlt1=Obrazek listy grupy z kontaktami o r\u00F3\u017Cnych stanach
-chelp.instant-messenger.title=Funkcje Instant Messaging
-chelp.over=Informacje og\u00F3len
-chelp.over1=Instant Messaging (IM) umo\u017Cliwia wymian\u0119 wiadomo\u015Bci w czasie rzeczywistym- ta zwany "chat".
-chelp.over2=Informacje o dost\u0119pno\u015Bci ewentualnych partner\u00F3w na czacie jest istotna.
-chelp.over3=Uzyskujesz t\u0105 informacj\u0119 przy pomocy "listy grupy".
-chelp.over4=Poni\u017Cszy obrazek pokazuje list\u0119 grupy z trzema osobami b\u0119d\u0105cymi w innym stanie.
-chelp.over7=Aby rozpocz\u0105\u0107 czat z jednym z dost\u0119pnych kontakt\u00F3w, kliknij start na kontakcie.
-chelp.rece=Odbierz wiadomo\u015Bci
-chelp.rece1=Wiadomo\u015Bci mog\u0105 by\u0107 odebrane na dwa sposoby\:
-chelp.rece2=Je\u015Bli okno czata nie jest otwarte, wiadomo\u015Bci pojawi\u0105 si\u0119 w formie ma\u0142ych migaj\u0105cych liter po lewej stronie symbolu gwiazdki w menu.
-chelp.rece3=Po klikni\u0119ciu na tym symbolu, pojawi si\u0119 wiadomo\u015B\u0107.
-chelp.rece4=Mo\u017Cesz odpowiedzie\u0107 na t\u0105 wiadomo\u015B\u0107 od razu(otworzy si\u0119 nowe okno) lub usun\u0105\u0107 j\u0105.
-chelp.rece5=Je\u015Bli okno czata jest ju\u017C otwarte, nowe wiadomo\u015Bci zostan\u0105 wy\u015Bwietlone w tym oknie.
-chelp.send=Wy\u015Blij wiadomo\u015Bci
-chelp.send1=W celu wys\u0142ania wiadomo\u015Bci mo\u017Cesz klikn\u0105\u0107 na odpowiednim u\u017Cytkowniku na li\u015Bcie grupy lub wybra\u0107 go z listy wszystkich u\u017Cytkownik\u00F3w online.
-chelp.send2=Klikaj\u0105c na imi\u0119 uruchomisz nowe okno komunikatora.
-close=Zamknij
-help.hover.im=Pomoc do komunikatora
-help.hover.imsettings=Pomoc w konfiguracji komunikatora
-im.buddies=Kontakty
-im.chat=Czatuj
-im.chat.disabled=Komunikator jest wy\u0142\u0105czony. W trakcie trwania testu nie b\u0119dziesz otrzymywa\u0142 wiadomo\u015Bci.
-im.chat.windows.may.invalid=Wszystkie pogaw\u0119dki czatowe zosta\u0142y zako\u0144czone. Zamknij to okno.
-im.chat.with=Czat z
-im.error.connection=Komunikator jest chwilowo niedost\u0119pny.
-im.hide.groups=Ukryj grupy
-im.hide.offline.buddies=Ukryj kontakty offline
-im.new.message=Masz now\u0105 wiadomo\u015B\u0107.
-im.new.message.other=Nowa wiadomo\u015B\u0107 od\: <b>{0}</b>. Tre\u015B\u0107\: <b>{1}</b>. Czat jest kontynuowany z\: {2}.
-im.new.message.short=Nowa wiadomo\u015B\u0107 przychodz\u0105ca...
-im.others.connected=u\u017Cytkownik\u00F3w OLAT jest online
-im.refresh=Od\u015Bwie\u017C
-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.show.groups=Poka\u017C grupy
-im.show.offline.buddies=Poka\u017C kontakty offline
-im.start.chat=Kliknij tu by rozpocz\u0105\u0107 czat.
-im.status=Status\:
-im.status.change=Zmie\u0144 status
-im.status.change.long=Zmie\u0144 status komunikatora
-im.status.msg=Opis\:
-new.status=Tw\u00F3j opis\:
-presence.available=Dost\u0119pny
-presence.away=Zaraz wracam
-presence.chat=Chc\u0119 poczatowa\u0107
-presence.dnd=Jestem zaj\u0119ty
-presence.offline=Niedost\u0119pny
-presence.unavailable=Niewidoczny
-presence.xa=Wr\u00F3c\u0119 p\u00F3\u017Aniej
-refresh=Od\u015Bwie\u017C
-rosterClose=Zamknij
-start.chat.with=U\u017Cytkownik <b>{0}</b> rozpocz\u0105\u0142 czat.
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_BR.properties
deleted file mode 100644
index 20b54479b7eb210429e548f6988055eb27d77eb0..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_BR.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Jul 28 13:33:30 CEST 2010
-chat.with.yourself=Voce realmente quer conversar consigo mesmo?
-chelp.add=Gerenciar contatos da lista de grupo 
-chelp.add1=Contatos podem ser adicionados ou removidos via o <i>$org.olat.group.ui\:LearningGroup</i> do OLAT.
-chelp.add2=Contanto que voc\u00EA seja o propriet\u00E1rio de um <i>$org.olat.group.ui\:LearningGroup</i> voc\u00EA pode convidar ou deixar de convidar propriet\u00E1rios comuns ou participantes a seu grupo. 
-chelp.add3=Estas pessoas aparecer\u00E3o ent\u00E3o na sua lista de grupo do bate-papo do OLAT. 
-chelp.chan1=Voc\u00EA pode mudar seu estado clicando no s\u00EDmbolo de estrela antes de selecionar um dos estados dispon\u00EDveis.
-chelp.chan2=(3/6) te diz quantos dos seus colegas est\u00E3o logados e est\u00E3o dispon\u00EDveis no momento.
-chelp.chan3=Clicando no sum\u00E1rio a lista de grupo inteira ser\u00E1 vis\u00EDvel incluindo os nomes e estado de seus colegas.
-chelp.client=Chat utilizando um programa de mensagem instat\u00E2nea externo
-chelp.client1=Se voc\u00EA quiser conversar usando um programa de mensagens instant\u00E2neas externo voc\u00EA vai encontrar informa\u00E7\u00F5es \u00FAteis em seu "Home", a se\u00E7\u00E3o "Configura\u00E7\u00F5es", "Instant Messaging".
-chelp.group=Juntar-se a um bate-papo de grupo
-chelp.group1=Links para salas de bate-papo s\u00E3o encontrados em diferentes lugares no OLAT (por exemplo <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> ).
-chelp.group2=Clicar no link <i>Iniciar bate-papo</i>.
-chelp.group3=Uma nova janela ser\u00E1 aberta e voc\u00EA pode entrar no bate-papo do grupo.
-chelp.group4=Mensagens para uma sala de bate-papo s\u00E3o enviadas para todas as pessoas naquela sala.
-chelp.group5=A lista de todos os participantes ser\u00E1 mostrada pr\u00F3xima a janela de mensagem.
-chelp.group6=Se voc\u00EA quer sair da sala de bate-papo, apenas feche a janela.
-chelp.imgAlt1=Imagem de uma lissta de grupo com contatos de diferentes estados 
-chelp.instant-messenger.title=Fun\u00E7\u00F5es de transfer\u00EAncia de mensagens instant\u00E2nea
-chelp.over=Vis\u00E3o geral
-chelp.over1=Transfer\u00EAncia de mensagem instant\u00E2nea (IM) permite a troca de mensagens com pessoas em tempo real - o chamado "bate-papo".
-chelp.over2=A informa\u00E7\u00E3o sobre a disponibilidade de parceiros potenciais de bate-papo \u00E9 importante.
-chelp.over3=Voc\u00EA obt\u00E9m essa informa\u00E7\u00E3o por meio da chamada "lista de grupo"
-chelp.over4=As seguintes imagens mostram uma lista de grupo com 3 pessoas em diferentes estados.
-chelp.over7=Para come\u00E7ar a conversar com um dos contatos dispon\u00EDveis, clicar naquele contato e a conversa pode ser iniciada em uma segunda janela do brownser.
-chelp.rece=Receber mensagens
-chelp.rece1=Mensagens podem recebidas de duas maneiras\:
-chelp.rece2=Se a janela de bate-papo n\u00E3o est\u00E1 aberta, as mensagens aparecer\u00E3o no formul\u00E1rio de letras pequenas na esquerda do s\u00EDmbolo de estrela no menu.
-chelp.rece3=Clicando neste s\u00EDmbolo sua mensagem aparecer\u00E1.
-chelp.rece4=Voc\u00EA pode responder a esta mensagem imediatamente (uma nova janela ser\u00E1 aberta) ou apague esta mensagem.
-chelp.rece5=Se a janela de bate-papo j\u00E1 est\u00E1 aberta, novas mensagens ser\u00E3o imediatamente mostradas nesta janela.
-chelp.send=Enviar mensagens
-chelp.send1=A fim de enviar mensagens para algu\u00E9m voc\u00EA pode tamb\u00E9m clicar no nome relevante na lista de grupo ou selecionar um parceiro da lista de todos os usu\u00E1rios online.
-chelp.send2=Selecionando um nome uma nova janela do brownser ser\u00E1 aberta.
-close=Fechar
-help.hover.im=Ajuda sobre as facilidades do Instant Messaging
-help.hover.imsettings=Ajuda para configura\u00E7\u00E3o do Instant Messaging
-im.buddies=Amigos
-im.chat=Chat
-im.chat.disabled=Chat desativado. Durante o teste voc\u00EA n\u00E3o receber\u00E1 mensagens.
-im.chat.windows.may.invalid=Todos as atuais conversas ser\u00E3o encerradas. Por Favor feche a(s) janela(s).
-im.chat.with=Chat com
-im.error.connection=O Instant Messaging n\u00E3o est\u00E1 dispon\u00EDvel no momento
-im.hide.groups=Ocultar grupos
-im.hide.offline.buddies=Ocultar contatos offline
-im.new.message=Voc\u00EA tem uma nova mensagem.
-im.new.message.other=Nova mensagem de outra pessoa\: <b>{0}</b>. Mensagem\: <b>{1}</b>. Chat continua com\: {2}.
-im.new.message.short=Nova mensagem recebida ...
-im.others.connected=usu\u00E1rios OLAT est\u00E3o online
-im.refresh=Atualizar tela
-im.roster.intro=Quem de meu grupo est\u00E1 conectado ao OLAT?<br />Selecione uma pessoa para conversar.
-im.show.groups=Mostrar grupos
-im.show.offline.buddies=Mostrar contatos offline
-im.start.chat=Clique aqui para iniciar o chat.
-im.status=Status\:
-im.status.change=Mudar status 
-im.status.change.long=Mudar status do Instant Messaging 
-im.status.msg=Status msg\:
-new.status=Novo status\:
-presence.available=Dispon\u00EDvel
-presence.away=Ausente
-presence.chat=Eu quero conversar
-presence.dnd=N\u00E3o perturbe
-presence.offline=Desconectado
-presence.unavailable=N\u00E3o dispon\u00EDvel
-presence.xa=Ausente indefinidamente
-refresh=Atualizar
-rosterClose=Fechar
-start.chat.with=Chat ser\u00E1 iniciado com\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_PT.properties
deleted file mode 100644
index 0009b3ea2a6a0763fbb565cf45eb200b470f4a18..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_pt_PT.properties
+++ /dev/null
@@ -1,65 +0,0 @@
-#Wed Jul 28 13:33:31 CEST 2010
-chat.with.yourself=Voce realmente quer conversar consigo mesmo?
-chelp.add=Gerenciar contatos da lista de grupo 
-chelp.add1=Contatos podem ser adicionados ou removidos via o <i>$org.olat.group.ui\:LearningGroup</i> do OLAT.
-chelp.add2=Contanto que voc\u00EA seja o propriet\u00E1rio de um <i>$org.olat.group.ui\:LearningGroup</i> voc\u00EA pode convidar ou deixar de convidar propriet\u00E1rios comuns ou participantes a seu grupo. 
-chelp.add3=Estas pessoas aparecer\u00E3o ent\u00E3o na sua lista de grupo do bate-papo do OLAT. 
-chelp.chan1=Voc\u00EA pode mudar seu estado clicando no s\u00EDmbolo de estrela antes de selecionar um dos estados dispon\u00EDveis.
-chelp.chan2=(3/6) te diz quantos dos seus colegas est\u00E3o logados e est\u00E3o dispon\u00EDveis no momento.
-chelp.chan3=Clicando no sum\u00E1rio a lista de grupo inteira ser\u00E1 vis\u00EDvel incluindo os nomes e estado de seus colegas.
-chelp.group=Juntar-se a um bate-papo de grupo
-chelp.group1=Links para salas de bate-papo s\u00E3o encontrados em diferentes lugares no OLAT (por exemplo <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> ).
-chelp.group2=Clicar no link <i>Iniciar bate-papo</i>.
-chelp.group3=Uma nova janela ser\u00E1 aberta e voc\u00EA pode entrar no bate-papo do grupo.
-chelp.group4=Mensagens para uma sala de bate-papo s\u00E3o enviadas para todas as pessoas naquela sala.
-chelp.group5=A lista de todos os participantes ser\u00E1 mostrada pr\u00F3xima a janela de mensagem.
-chelp.group6=Se voc\u00EA quer sair da sala de bate-papo, apenas feche a janela.
-chelp.imgAlt1=Imagem de uma lissta de grupo com contatos de diferentes estados 
-chelp.instant-messenger.title=Fun\u00E7\u00F5es de transfer\u00EAncia de mensagens instant\u00E2nea
-chelp.over=Vis\u00E3o geral
-chelp.over1=Transfer\u00EAncia de mensagem instant\u00E2nea (IM) permite a troca de mensagens com pessoas em tempo real - o chamado "bate-papo".
-chelp.over2=A informa\u00E7\u00E3o sobre a disponibilidade de parceiros potenciais de bate-papo \u00E9 importante.
-chelp.over3=Voc\u00EA obt\u00E9m essa informa\u00E7\u00E3o por meio da chamada "lista de grupo"
-chelp.over4=As seguintes imagens mostram uma lista de grupo com 3 pessoas em diferentes estados.
-chelp.over7=Para come\u00E7ar a conversar com um dos contatos dispon\u00EDveis, clicar naquele contato e a conversa pode ser iniciada em uma segunda janela do brownser.
-chelp.rece=Receber mensagens
-chelp.rece1=Mensagens podem recebidas de duas maneiras\:
-chelp.rece2=Se a janela de bate-papo n\u00E3o est\u00E1 aberta, as mensagens aparecer\u00E3o no formul\u00E1rio de letras pequenas na esquerda do s\u00EDmbolo de estrela no menu.
-chelp.rece3=Clicando neste s\u00EDmbolo sua mensagem aparecer\u00E1.
-chelp.rece4=Voc\u00EA pode responder a esta mensagem imediatamente (uma nova janela ser\u00E1 aberta) ou apague esta mensagem.
-chelp.rece5=Se a janela de bate-papo j\u00E1 est\u00E1 aberta, novas mensagens ser\u00E3o imediatamente mostradas nesta janela.
-chelp.send=Enviar mensagens
-chelp.send1=A fim de enviar mensagens para algu\u00E9m voc\u00EA pode tamb\u00E9m clicar no nome relevante na lista de grupo ou selecionar um parceiro da lista de todos os usu\u00E1rios online.
-chelp.send2=Selecionando um nome uma nova janela do brownser ser\u00E1 aberta.
-close=Fechar
-help.hover.im=Ajuda sobre as facilidades do Instant Messaging
-help.hover.imsettings=Ajuda para configura\u00E7\u00E3o do Instant Messaging
-im.buddies=Amigos
-im.chat=Chat
-im.chat.disabled=Chat desativado. Durante o teste voc\u00EA n\u00E3o receber\u00E1 mensagens.
-im.chat.with=Chat com
-im.error.connection=O Instant Messaging n\u00E3o est\u00E1 dispon\u00EDvel no momento
-im.hide.groups=Ocultar grupos
-im.hide.offline.buddies=Ocultar contatos offline
-im.new.message=Voc\u00EA tem uma nova mensagem.
-im.new.message.other=Nova mensagem de outra pessoa\: <b>{0}</b>. Mensagem\: <b>{1}</b>. Chat continua com\: {2}.
-im.others.connected=usu\u00E1rios OLAT est\u00E3o online
-im.refresh=Atualizar tela
-im.roster.intro=Quem de meu grupo est\u00E1 conectado ao OLAT?<br />Selecione uma pessoa para conversar.
-im.show.groups=Mostrar grupos
-im.show.offline.buddies=Mostrar contatos offline
-im.start.chat=Clique aqui para iniciar o chat.
-im.status=Status\:
-im.status.change=Mudar status 
-im.status.change.long=Mudar status do Instant Messaging 
-im.status.msg=Status msg\:
-presence.available=Dispon\u00EDvel
-presence.away=Ausente
-presence.chat=Eu quero conversar
-presence.dnd=N\u00E3o perturbe
-presence.offline=Desconectado
-presence.unavailable=N\u00E3o dispon\u00EDvel
-presence.xa=Ausente indefinidamente
-refresh=Atualizar
-rosterClose=Fechar
-start.chat.with=Chat ser\u00E1 iniciado com\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ru.properties
deleted file mode 100644
index 6bc0e421feaa2fb8a9da8fd67bacf204aa01c73b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_ru.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-#Sun Jan 24 09:05:19 CET 2010
-chat.with.yourself=\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u043D\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0442 \u0441 \u0441\u0430\u043C\u0438\u043C \u0441\u043E\u0431\u043E\u0439? 
-close=\u0417\u0430\u043A\u0440\u044B\u0442\u044C
-help.hover.im=\u041F\u043E\u043C\u043E\u0449\u044C \u043A \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u043C \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant Messaging) 
-help.hover.imsettings=\u041F\u043E\u043C\u043E\u0449\u044C \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant Messaging)
-im.buddies=\u041A\u043E\u043B\u043B\u0435\u0433\u0438
-im.chat=\u0427\u0430\u0442
-im.chat.disabled=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u0412\u043E \u0432\u0440\u0435\u043C\u044F \u0442\u0435\u0441\u0442\u0430 \u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F. 
-im.chat.windows.may.invalid=\u0412\u0441\u0435 \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u0447\u0430\u0442\u044B \u043F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0437\u0430\u043A\u0440\u043E\u0439\u0442\u0435 \u043E\u043A\u043D\u043E \u0447\u0430\u0442\u0430(\u043E\u0432).
-im.chat.with=\u0427\u0430\u0442 \u0441
-im.error.connection=\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant-Messaging) \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
-im.hide.groups=\u0421\u043A\u0440\u044B\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B 
-im.hide.offline.buddies=\u0421\u043A\u0440\u044B\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0438\u0435\u0441\u044F \u0432\u043D\u0435 \u0441\u0435\u0442\u0438
-im.new.message=\u0412\u0430\u043C \u043F\u0440\u0438\u0448\u043B\u043E \u043D\u043E\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435. 
-im.new.message.other=\u041D\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\: <b>{0}</b>. \u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\: <b>{1}</b>. \u0427\u0430\u0442 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442\u0441\u044F \u0441\: {2}.
-im.new.message.short=\u041D\u043E\u0432\u043E\u0435 \u0432\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...
-im.others.connected=\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 OLAT \u0432 \u0441\u0435\u0442\u0438
-im.refresh=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437 \u0437\u0430\u043D\u043E\u0432\u043E
-im.roster.intro=\u041A\u0442\u043E \u0438\u0437 \u043C\u043E\u0438\u0445 \u043A\u043E\u043B\u043B\u0435\u0433 \u043F\u043E \u0433\u0440\u0443\u043F\u043F\u0435 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OLAT?<br />\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F, \u0441 \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043D\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0442. 
-im.show.groups=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B 
-im.show.offline.buddies=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0438\u0435\u0441\u044F \u0432\u043D\u0435 \u0441\u0435\u0442\u0438
-im.start.chat=\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442. 
-im.status=\u0421\u0442\u0430\u0442\u0443\u0441\:
-im.status.change=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 
-im.status.change.long=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 
-im.status.msg=\u0421\u0442\u0430\u0442\u0443\u0441 Msg\:
-new.status=\u041D\u043E\u0432\u044B\u0439 \u0441\u0442\u0430\u0442\u0443\u0441\:
-presence.available=\u0412 \u0441\u0435\u0442\u0438
-presence.away=\u041D\u0435\u0442 \u043D\u0430 \u043C\u0435\u0441\u0442\u0435
-presence.chat=\u0425\u043E\u0447\u0443 \u043F\u043E\u0447\u0430\u0442\u0438\u0442\u044C\u0441\u044F
-presence.dnd=\u041D\u0435 \u0431\u0435\u0441\u043F\u043E\u043A\u043E\u0438\u0442\u044C, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430
-presence.offline=\u0412\u043D\u0435 \u0441\u0435\u0442\u0438
-presence.unavailable=\u041D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D
-presence.xa=\u0414\u043E\u043B\u0433\u043E \u043D\u0435 \u0431\u0443\u0434\u0435\u0442
-refresh=refresh
-rosterClose=close
-start.chat.with=\u0427\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043D\u0430\u0447\u0430\u0442 \u0441\: <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_sq.properties
deleted file mode 100644
index 0190ae9e7359148edf3a2543e00fbbde241aa7f2..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_sq.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#Wed Jul 28 13:33:32 CEST 2010
-chelp.add=Manage group list contacts
-chelp.add1=Contacts can be added or removed via the <i>$org.olat.group.ui\:LearningGroup</i> of OLAT.
-chelp.add2=Provided that you are the owner of a <i>$org.olat.group.ui\:LearningGroup</i> you can invite or disinvite joint owners or participants to your group.
-chelp.add3=These persons will then appear on your group list of the OLAT chat.
-chelp.chan1=You can change your own state by clicking on the star symbol before selecting one of the available states.
-chelp.chan2=When the group list is deactivated the indication (3/6) next to the star symbol tells you how many of your colleagues are logged on and available at the moment.
-chelp.chan3=By clicking on the list the entire group list will be visible including the names and state of your colleagues.
-chelp.client=Chat using an external Instant Messaging program
-chelp.client1=If you want to chat using an external Instant Messaging program you will find useful information in your "Home", section "Settings", "Instant Messaging". 
-chelp.group=Join a group chat
-chelp.group1=Links to chat rooms are found at different places in OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=Click on the link <i>Start chat</i>.
-chelp.group3=A new window will be opened and you can start the group chat.
-chelp.group4=Messages to a chat room are sent to all persons in that room.
-chelp.group5=A list of all participants will be displayed next to the chat window.
-chelp.group6=If you want to exit the chat room, just close the window.
-chelp.imgAlt1=Image of a group list with contacts of different states
-chelp.instant-messenger.title=Instant Messaging functions
-chelp.over=Overview
-chelp.over1=Instant Messaging (IM) allows the exchange of messages with persons in real time--the so-called "chat".
-chelp.over2=Information on the availability of potential chat partners is important.
-chelp.over3=You get this information by means of the so-called "group list".
-chelp.over4=The following image shows a group list with 3 persons in different states.
-chelp.over7=To begin chatting with one of the available contacts, click on that contact and the chat can be started in a second browser window.
-chelp.rece=Receive messages
-chelp.rece1=Messages can be received in two ways\:
-chelp.rece2=If the chat window is not open, the messages will appear in the form of little blinking letters on the left of the star symbol in the menu.
-chelp.rece3=By clicking on this symbol your message will appear.
-chelp.rece4=You can respond to this message immediately (a new chat window will be opened).
-chelp.rece5=If the chat window is already open, new messages will be immediately displayed in this window.
-chelp.send=Send messages
-chelp.send1=In order to send a message you just click on a name in the group list.
-chelp.send2=By selecting a name a new browser window will be opened.
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_CN.properties
deleted file mode 100644
index 8aae385be31ffb91a8cc8936c4e9503ee5142814..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_CN.properties
+++ /dev/null
@@ -1,70 +0,0 @@
-#Wed Jul 28 13:33:30 CEST 2010
-chat.with.yourself=\u60A8\u771F\u8981\u60F3\u4E0E\u81EA\u5DF1\u4EA4\u8C08\uFF1F
-chelp.add=\u6D88\u606F\u7EC4\u5217\u8868\u5185\u5BB9
-chelp.add1=\u901A\u8FC7OLAT\u7684<i>$org.olat.group.ui\:LearningGroup</i>,\u8054\u7CFB\u4EBA\u53EF\u4EE5\u88AB\u5220\u9664\u6216\u8005\u589E\u52A0
-chelp.add2=\u5047\u8BBE\u4F60\u662F\u4E00\u4E2A <i>$org.olat.group.ui\:LearningGroup</i>\u7684\u6240\u6709\u8005,\u4F60\u53EF\u4EE5\u9080\u8BF7\u6216\u8005\u4E0D\u9080\u8BF7\u7EC4\u7684\u5408\u4F19\u62E5\u6709\u8005,\u6216\u8005\u7EC4\u7684\u53C2\u4E0E\u8005.
-chelp.add3=\u8FD9\u4E9B\u4EBA\u4F1A\u51FA\u73B0\u5728\u4F60\u7684OLAT\u804A\u5929\u7684\u7EC4\u5217\u8868\u91CC.
-chelp.chan1=\u9009\u62E9\u4E86\u53EF\u7528\u7684\u72B6\u6001\u540E,\u4F60\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u661F\u72B6\u6807\u5FD7\u6539\u53D8\u4F60\u7684\u72B6\u6001.
-chelp.chan2=(3/6)\u544A\u8BC9\u4F60\u6709\u591A\u5C11\u5927\u5B66\u88AB\u6CE8\u518C\u5E76\u4E14\u6B64\u523B\u53EF\u89C1.
-chelp.chan3=\u901A\u8FC7\u70B9\u51FB\u6458\u8981,\u6574\u4E2A\u7EC4\u5217\u8868\u5305\u62EC\u540D\u5B57\u548C\u4F60\u7684\u5927\u5B66\u7684\u72B6\u6001\u5C06\u4F1A\u53D8\u4E3A\u53EF\u89C1.
-chelp.client=\u4F7F\u7528\u5916\u90E8\u5373\u65F6\u901A\u8BAF\u7A0B\u5E8F\u8FDB\u884C\u804A\u5929
-chelp.client1=\u5982\u679C\u60A8\u5E0C\u671B\u4F7F\u7528\u4E00\u4E2A\u5916\u90E8\u7684\u5373\u65F6\u901A\u8BB8\u7A0B\u5E8F\uFF0C\u60A8\u4F1A\u5728"\u9996\u9875"\u627E\u5230\u6709\u7528\u7684\u4FE1\u606F\uFF0C\u5B83\u4F4D\u4E8E\u201C\u8BBE\u7F6E\u201D->"\u5373\u65F6\u901A\u8BAF"
-chelp.group=\u53C2\u4E0E\u7FA4\u7EC4\u804A\u5929
-chelp.group1=\u804A\u5929\u5BA4\u7684\u94FE\u63A5\u53EF\u4EE5\u5728OLAT\u7684\u5176\u4ED6\u5730\u65B9\u88AB\u627E\u5230(\u4F8B\u5982 <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
-chelp.group2=\u70B9\u51FB\u94FE\u63A5<i>\u5F00\u59CB\u804A\u5929</i>.
-chelp.group3=\u4E00\u4E2A\u65B0\u7684\u7A97\u53E3\u5C06\u4F1A\u88AB\u6253\u5F00\u4F60\u80FD\u591F\u8FDB\u5165\u7EC4\u804A\u5929.
-chelp.group4=\u53D1\u9001\u5230\u804A\u5929\u5BA4\u7684\u6D88\u606F\u4F1A\u9001\u7ED9\u804A\u5929\u5BA4\u7684\u6240\u6709\u4EBA.
-chelp.group5=\u6240\u6709\u53C2\u4E0E\u8005\u7684\u5217\u8868\u4F1A\u5728\u4E0B\u4E00\u4E2A\u6D88\u606F\u7A97\u53E3\u91CC\u663E\u793A\u51FA\u6765.
-chelp.group6=\u5982\u679C\u4F60\u60F3\u9000\u51FA\u804A\u5929\u5BA4,\u5173\u95ED\u7A97\u53E3\u5373\u53EF.
-chelp.imgAlt1=\u6709\u4E0D\u540C\u72B6\u6001\u8054\u7CFB\u4EBA\u7684\u7EC4\u5217\u8868\u56FE\u50CF
-chelp.instant-messenger.title=\u5373\u65F6\u6D88\u606F\u529F\u80FD
-chelp.over=\u7EFC\u8FF0
-chelp.over1=\u5373\u65F6\u6D88\u606F\u5141\u8BB8\u548C\u5176\u4ED6\u540C\u65F6\u5728\u7EBF\u7684\u4EBA\u76F8\u4E92\u4EA4\u6362\u6D88\u606F,\u4E5F\u5C31\u662F\u6240\u8C13\u7684\u201C\u804A\u5929\u201D.
-chelp.over2=\u9690\u8EAB\u7684\u804A\u5929\u4F19\u4F34\u7684\u53EF\u89C1\u6027\u4FE1\u606F\u662F\u5F88\u91CD\u8981\u7684.
-chelp.over3=\u901A\u8FC7\u4F7F\u7528\u6240\u8C13\u7684\u201C\u7FA4\u7EC4\u5217\u8868\u201D,\u60A8\u53EF\u83B7\u5F97\u6B64\u4FE1\u606F.
-chelp.over4=\u5982\u4E0B\u7684\u56FE\u50CF\u8868\u660E3\u4E2A\u4E0D\u540C\u72B6\u6001\u7684\u4EBA\u7684\u7FA4\u7EC4\u5217\u8868.
-chelp.over7=\u8981\u548C\u5728\u7EBF\u7684\u8054\u7CFB\u4EBA\u804A\u5929,\u70B9\u51FB\u8054\u7CFB\u4EBA\u5217\u8868,\u60A8\u5C31\u53EF\u4EE5\u5728\u7B2C\u4E8C\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3\u5F00\u59CB\u804A\u5929\u3002
-chelp.rece=\u63A5\u53D7\u6D88\u606F
-chelp.rece1=\u6D88\u606F\u53EF\u4EE5\u901A\u8FC7\u4E24\u79CD\u9014\u5F84\u88AB\u63A5\u53D7\:
-chelp.rece2=\u5982\u679C\u804A\u5929\u7A97\u6CA1\u6709\u6253\u5F00,\u6D88\u606F\u5C06\u4F1A\u4EE5\u83DC\u5355\u91CC\u7684\u661F\u5F62\u6807\u5FD7\u4E0A\u7684\u95EA\u70C1\u7684\u5B57\u7B26\u7684\u5F62\u5F0F\u51FA\u73B0.
-chelp.rece3=\u70B9\u51FB\u8FD9\u4E2A\u6807\u5FD7,\u4F60\u7684\u6D88\u606F\u5C06\u4F1A\u51FA\u73B0
-chelp.rece4=\u4F60\u53EF\u4EE5\u7ACB\u523B\u7B54\u590D\u8FD9\u4E2A\u6D88\u606F(\u4E00\u4E2A\u65B0\u7684\u7A97\u53E3\u4F1A\u88AB\u6253\u5F00)\u6216\u8005\u5220\u9664\u8FD9\u4E2A\u6D88\u606F.
-chelp.rece5=\u5982\u679C\u804A\u5929\u7A97\u53E3\u5DF2\u7ECF\u6253\u5F00,\u65B0\u7684\u6D88\u606F\u5C06\u4F1A\u7ACB\u5373\u5728\u8FD9\u4E2A\u7A97\u53E3\u91CC\u5C55\u51FA\u51FA\u6765.
-chelp.send=\u53D1\u9001\u6D88\u606F
-chelp.send1=\u4E3A\u4E86\u7ED9\u67D0\u4E9B\u4EBA\u53D1\u9001\u6D88\u606F,\u4F60\u53EF\u4EE5\u70B9\u51FB\u7EC4\u5217\u8868\u4E0A\u7684\u76F8\u5173\u4EBA\u7684\u540D\u5B57\u6216\u8005\u4ECE\u5728\u7EBF\u7528\u6237\u5217\u8868\u91CC\u9009\u62E9\u4E00\u4E2A\u4F19\u4F34.
-chelp.send2=\u901A\u8FC7\u9009\u62E9\u4E00\u4E2A\u540D\u5B57\u3002\u4E00\u4E2A\u65B0\u7684\u5E26\u6709.
-close=\u5173\u95ED
-help.hover.im=\u5173\u4E8E\u5373\u65F6\u901A\u8BAF\u7279\u6027\u7684\u5E2E\u52A9
-help.hover.imsettings=\u5173\u4E8E\u5373\u65F6\u901A\u8BAF\u914D\u7F6E\u7684\u5E2E\u52A9
-im.buddies=\u597D\u53CB
-im.chat=\u804A\u5929
-im.chat.disabled=\u804A\u5929\u529F\u80FD\u5173\u95ED\u3002\u5728\u8003\u8BD5\u671F\u95F4\uFF0C\u60A8\u65E0\u6CD5\u6536\u5230\u6D88\u606F\u3002
-im.chat.windows.may.invalid=\u6240\u6709\u6B63\u5728\u8FDB\u884C\u7684\u804A\u5929\u5C06\u7EC8\u6B62\uFF0C\u8BF7\u5173\u95ED\u804A\u5929\u7A97\u53E3\u3002
-im.chat.with=\u804A\u5929\u5BF9\u8C61
-im.error.connection=\u5373\u65F6\u901A\u8BAF\u5F53\u524D\u4E0D\u53EF\u7528
-im.hide.groups=\u9690\u85CF\u7FA4\u7EC4
-im.hide.offline.buddies=\u9690\u85CF\u7EBF\u4E0B\u8054\u7CFB
-im.new.message=\u60A8\u83B7\u5F97{0}\u7684\u4E00\u6761\u65B0\u4FE1\u606F\u3002
-im.new.message.other=\u6765\u81EA\u53E6\u4E00\u4E2A\u4EBA\u7684\u65B0\u6D88\u606F\uFF1A<b>{0}</b>.\u6D88\u606F\uFF1A<b>{1}</b>.\u7EE7\u7EED\u4E0E{2}\u8FDB\u884C\u4EA4\u8C08\u3002
-im.new.message.short=\u65B0\u83B7\u5F97\u7684\u6D88\u606F...
-im.others.connected=OLAT\u7528\u6237\u5728\u7EBF
-im.refresh=\u5237\u65B0\u663E\u793A
-im.roster.intro=\u8FD8\u6709\u8C01\u4ECE\u6211\u7684\u540C\u4E8B\u7EC4\u767B\u5F55\u5230OLAT\uFF1F<br>\u8BF7\u9009\u62E9\u60A8\u8981\u4EA4\u8C08\u7684\u5BF9\u8C61\u3002
-im.show.groups=\u663E\u793A\u7FA4\u7EC4
-im.show.offline.buddies=\u663E\u793A\u7EBF\u4E0B\u8054\u7CFB
-im.start.chat=\u70B9\u6B64\u5F00\u59CB\u804A\u5929\u3002
-im.status=\u72B6\u6001\uFF1A
-im.status.change=\u6539\u53D8\u72B6\u6001
-im.status.change.long=\u6539\u53D8\u5373\u65F6\u901A\u8BAF\u72B6\u6001
-im.status.msg=\u72B6\u6001msg\:
-new.status=\u65B0\u72B6\u6001\uFF1A
-presence.available=\u53EF\u7528
-presence.away=\u7F3A\u5E2D
-presence.chat=\u6211\u60F3\u8981\u804A\u5929
-presence.dnd=\u8BF7\u4E0D\u8981\u6253\u65AD
-presence.offline=\u4E0B\u7EBF
-presence.unavailable=\u4E0D\u53EF\u7528
-presence.xa=\u7F3A\u5E2D\u66F4\u4E45
-refresh=\u5237\u65B0
-rosterClose=\u5173\u95ED
-start.chat.with=\u5373\u5C06\u5F00\u59CB\u4E0E<b>{0}</b>\u4EA4\u8C08
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_TW.properties
deleted file mode 100644
index a2830015712a8e414fc090b4a83fbb209e958ea3..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/LocalStrings_zh_TW.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-#Sun Feb 07 18:18:11 CET 2010
-chat.with.yourself=\u60A8\u771F\u7684\u8981\u548C\u60A8\u81EA\u5DF1\u804A\u5929\u55CE\uFF1F
-chelp.add=\u7BA1\u7406\u7FA4\u7D44\u6E05\u55AE\u9023\u7D61\u4EBA
-chelp.add1=\u9023\u7D61\u4EBA\u53EF\u4EE5\u900F\u904E OLAT \u7684 <i>$org.olat.group.ui\:LearningGroup</i> \u4F86\u52A0\u5165\u6216\u79FB\u9664\u3002
-close=\u95DC\u9589
-help.hover.im=\u95DC\u65BC\u5373\u6642\u8A0A\u606F\u529F\u80FD\u7684\u8AAA\u660E
-help.hover.imsettings=\u95DC\u65BC\u5373\u6642\u8A0A\u606F\u8A2D\u5B9A\u7684\u8AAA\u660E
-im.buddies=\u597D\u53CB
-im.chat=\u804A\u5929
-im.chat.disabled=\u804A\u5929\u88AB\u505C\u7528\u3002\u5728\u6E2C\u9A57\u4E2D\u60A8\u7121\u6CD5\u6536\u5230\u8A0A\u606F\u3002
-im.chat.windows.may.invalid=\u6240\u6709\u767C\u51FA\u7684\u804A\u5929\u88AB\u7D42\u6B62\u3002\u8ACB\u95DC\u9589\u804A\u5929\u5BA4\u7A97\u3002
-im.chat.with=\u804A\u5929
-im.error.connection=\u5373\u6642\u8A0A\u606F\u76EE\u524D\u7121\u6CD5\u4F7F\u7528
-im.hide.groups=\u96B1\u85CF\u7FA4\u7D44
-im.hide.offline.buddies=\u96B1\u85CF\u96E2\u7DDA\u9023\u7D61\u4EBA
-im.new.message=\u60A8\u6709\u4E00\u500B\u65B0\u8A0A\u606F\u3002
-im.new.message.other=\u5F9E\u5176\u4ED6\u4EBA\u7684\u65B0\u8A0A\u606F\uFF1A <b>{0}</b>\u3002 \u8A0A\u606F\uFF1A<b>{1}</b>\u3002\u7E7C\u7E8C\u804A\u5929\uFF1A {2}\u3002
-im.new.message.short=\u65B0\u9032\u8A0A\u606F...
-im.others.connected=OLAT \u4F7F\u7528\u8005\u4E0A\u7DDA
-im.refresh=\u91CD\u65B0\u6574\u7406
-im.roster.intro=\u6211\u7684\u7FA4\u7D44\u540C\u4E8B\u9084\u6709\u8AB0\u767B\u5165\u5230 OLAT \uFF1F<br />\u9078\u64C7\u4E00\u500B\u60A8\u8981\u804A\u5929\u7684\u5C0D\u8C61\u3002
-im.show.groups=\u986F\u793A\u7FA4\u7D44
-im.show.offline.buddies=\u986F\u793A\u96E2\u7DDA\u9023\u7D61\u4EBA
-im.start.chat=\u6309\u9019\u88E1\u4F86\u958B\u59CB\u804A\u5929\u3002
-im.status=\u72C0\u614B\uFF1A
-im.status.change=\u66F4\u6539\u72C0\u614B 
-im.status.change.long=\u66F4\u6539\u5373\u6642\u8A0A\u606F\u72C0\u614B 
-im.status.msg=\u72C0\u614B\u8A0A\u606F\uFF1A
-new.status=\u65B0\u72C0\u614B\uFF1A
-presence.available=\u7DDA\u4E0A
-presence.away=\u96E2\u958B
-presence.chat=\u958B\u653E\u804A\u5929
-presence.dnd=\u8ACB\u52FF\u6253\u64FE
-presence.offline=\u986F\u793A\u70BA\u96E2\u7DDA
-presence.unavailable=\u767B\u51FA
-presence.xa=\u5916\u51FA\u7528\u9910
-refresh=\u91CD\u65B0\u6574\u7406
-rosterClose=\u95DC\u9589
-start.chat.with=\u804A\u5929\u5C07\u958B\u59CB\uFF1A <b>{0}</b>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/i18nBundleMetadata.properties b/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/i18nBundleMetadata.properties
deleted file mode 100644
index db3539a78bb2227c553d712e6a4be262af07f951..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_i18n/i18nBundleMetadata.properties
+++ /dev/null
@@ -1 +0,0 @@
-bundle.priority = 600
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/AddUserToGroup.java b/src/main/java/org/olat/instantMessaging/syncservice/AddUserToGroup.java
deleted file mode 100644
index 6fb2362edae940fdb1e114f345edcfd6bc87e23d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/AddUserToGroup.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class AddUserToGroup extends IQ {
-
-	static final String NAMESPACE = "iq:group:user:add";
-	private boolean created;
-	private String username;
-	private String groupname;
-
-	/**
-	 * 
-	 * @param username
-	 * @param groupname
-	 */
-	public AddUserToGroup(String username, String groupname) {
-		this.username = username;
-		this.groupname = groupname;
-		setType(IQ.Type.SET);
-	}
-	
-	public AddUserToGroup() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-        buf.append("<username>").append(username).append("</username>");
-        buf.append("<groupname>").append(groupname).append("</groupname>");
-        buf.append("</query>");
-        return buf.toString();
-	}
-	
-	public static class Provider implements IQProvider {
-  		
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-   		constructor  */
-		public Provider() {/***/}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-			
-			AddUserToGroup addUser = new AddUserToGroup();
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-			       if (eventType == XmlPullParser.START_TAG) {
-			    	   addUser.setCreated(true);
-			    	   done = true;
-			       }
-			}
-		return addUser;
-		}
-	}
-
-	protected void setCreated(boolean created) {
-		this.created = created;
-	}
-
-	public boolean isCreated() {
-		return created;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/GroupCreate.java b/src/main/java/org/olat/instantMessaging/syncservice/GroupCreate.java
deleted file mode 100644
index 24d3a447e0f18409ea3f77afd99dacce16da4301..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/GroupCreate.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class GroupCreate extends IQ {
-	
-	static final String NAMESPACE = "iq:group:create";
-	private String groupname; //display name of the group
-	private String description;
-	private boolean created;
-	private Object groupId; //unique olat group name e.g. busienessgroup-123455
-
-	/**
-	 * 
-	 * @param groupId unique group identifier
-	 * @param groupname display name 
-	 * @param description optional description
-	 */
-	public GroupCreate(String groupId, String groupname, String description) {
-		this.groupId = groupId;
-		this.groupname = StringEscapeUtils.escapeXml(groupname);
-		this.description = StringEscapeUtils.escapeXml(description);
-		setType(IQ.Type.SET);
-	}
-	
-	/**
-	 * 
-	 */
-	public GroupCreate() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-        buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-        buf.append("<groupid>").append(groupId).append("</groupid>");
-        buf.append("<groupname>").append(groupname).append("</groupname>");
-        buf.append("<description>").append(description).append("</description>");
-        buf.append("</query>");
-        return buf.toString();
-	}
-	
-	
-	public void setCreated(boolean success) {
-		this.created = success;
-	}
-	
-	public boolean isCreated() {
-		return this.created;
-	}
-	
-	public static class Provider implements IQProvider {
-		  		
-				/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-		   		constructor  */
-				public Provider() {/***/}
-
-				public IQ parseIQ(XmlPullParser parser) throws Exception {
-					
-					GroupCreate creator = new GroupCreate();
-					boolean done = false;
-					while (!done) {
-						int eventType = parser.next();
-					       if (eventType == XmlPullParser.START_TAG) {
-					           creator.setCreated(true);
-					    	   done = true;
-					       }
-					}
-				return creator;
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/GroupDelete.java b/src/main/java/org/olat/instantMessaging/syncservice/GroupDelete.java
deleted file mode 100644
index 17b3f64539bcbc6511a1b5481ec7ac7e3fcb5ec2..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/GroupDelete.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class GroupDelete extends IQ {
-	
-	static final String NAMESPACE = "iq:group:delete";
-	private String groupname;
-	private boolean deleted;
-
-	/**
-	 * 
-	 */
-	public GroupDelete(String username) {
-		this.groupname = username;
-		setType(IQ.Type.SET);
-	}
-	
-	/**
-	 * 
-	 */
-	public GroupDelete() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-        buf.append("<groupname>").append(groupname).append("</groupname>");
-        buf.append("</query>");
-        return buf.toString();
-	}
-	
-	
-	protected void setDeleted(boolean success) {
-		this.deleted = success;
-	}
-	
-	public boolean isDeleted() {
-		return this.deleted;
-	}
-	
-	public static class Provider implements IQProvider {
-		  		
-				/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-		   		constructor  */
-				public Provider() {/***/}
-
-				public IQ parseIQ(XmlPullParser parser) throws Exception {
-					
-					GroupDelete groupDelete = new GroupDelete();
-					boolean done = false;
-					while (!done) {
-						int eventType = parser.next();
-					       if (eventType == XmlPullParser.START_TAG) {
-					    	   groupDelete.setDeleted(true);
-					    	   done = true;
-					       }
-					}
-				return groupDelete;
-		}
-	}
-	
-	
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/IMSessionItems.java b/src/main/java/org/olat/instantMessaging/syncservice/IMSessionItems.java
deleted file mode 100644
index e72de8d9ccb7178f5c798517435eb036b4f6d09a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/IMSessionItems.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jivesoftware.smack.packet.IQ;
-
-/**
- * Description:<br>
- * fetches a list of all currently logged in users on the IM server
- * 
- * <P>
- * Initial Date:  06.08.2008 <br>
- * @author guido
- */
-public class IMSessionItems<E> extends IQ {
-
-
-	private List<Item> items = new ArrayList<Item>();
-
-	/**
-	 * @see org.jivesoftware.smack.packet.IQ#getChildElementXML()
-	 */
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-    buf.append("<query xmlns=\"iq:user:sessionitems\"");
-    synchronized (items) {
-        for (Item item : items) {
-            buf.append(item.toXML());
-        }
-    }
-    buf.append("</query>");
-    return buf.toString();
-	}
-
-	public  void addItem(Item item) {
-		items.add(item);
-	}
-	
-	public List<Item> getItems() {
-		return this.items;
-	}
-
-
-	
-	
-
-	public static class Item {
-		
-		
-
-		private String username;
-		private long loginTime;
-		private long lastActivity;
-		private String presenceMsg;
-		private String presenceStatus;
-		private String resource;
-
-		Item(String username) {
-			this.username = username;
-		}
-		
-		public Object toXML() {
-			StringBuilder buf = new StringBuilder();
-      buf.append("<item username=\"").append(username).append("\"");
-      if (presenceStatus != null) {
-          buf.append(" presenceStatus=\"").append(presenceStatus).append("\"");
-      }
-      if (presenceMsg != null) {
-          buf.append(" presenceMsg=\"").append(presenceMsg).append("\"");
-      }
-      if (lastActivity != 0) {
-          buf.append(" lastActivity=\"").append(lastActivity).append("\"");
-      }
-      if (loginTime != 0) {
-        buf.append(" loginTime=\"").append(loginTime).append("\"");
-    }
-      buf.append("/>");
-      return buf.toString();
-		}
-
-		public void setLoginTime(long loginTime) {
-			this.loginTime = loginTime;
-		}
-
-		public void setLastActivity(long lastActivity) {
-			this.lastActivity = lastActivity;
-		}
-
-		public void setPresenceMsg(String presenceMsg) {
-			this.presenceMsg = presenceMsg;
-		}
-
-		public void setPresenceStatus(String presenceStatus) {
-			this.presenceStatus = presenceStatus;
-		}
-
-		public String getUsername() {
-			return username;
-		}
-
-		public long getLoginTime() {
-			return loginTime;
-		}
-
-		public long getLastActivity() {
-			return lastActivity;
-		}
-
-		public String getPresenceMsg() {
-			return presenceMsg;
-		}
-
-		public String getPresenceStatus() {
-			return presenceStatus;
-		}
-
-		public void setResource(String resource) {
-			this.resource = resource;
-		}
-
-		public String getResource() {
-			return resource;
-		}
-		
-	}
-
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingGroupSynchronisation.java b/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingGroupSynchronisation.java
deleted file mode 100644
index 8eb1ba17f4f4745c778c82ced96b217d9c1dfebc..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingGroupSynchronisation.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.Collection;
-
-
-public interface InstantMessagingGroupSynchronisation {
-
-	/**
-	 * Creates a shared buddy group where all members see each other on their
-	 * rosters
-	 * 
-	 * @param groupId olat ressource id
-	 * @param displayName name shown in the roster
-	 * @param initialMembers array with olat usernames
-	 */
-	public boolean createSharedGroup(String groupId, String displayName);
-	
-	/**
-	 * Rename shared buddy group on the IM server
-	 * 
-	 * @param groupId
-	 * @param displayName
-	 */
-	public boolean renameSharedGroup(String groupId, String displayName);
-
-	/**
-	 * @param groupId
-	 */
-	public boolean deleteSharedGroup(String groupId);
-
-	/**
-	 * 
-	 * @param groupId
-	 * @param user
-	 */
-	public boolean addUserToSharedGroup(String groupId, Collection<String> users);
-
-	/**
-	 * @param groupId
-	 * @param username
-	 */
-	public boolean removeUserFromSharedGroup(String groupId, String username);
-
-	/**
-	 * @param groupId
-	 * @param users
-	 */
-	public boolean removeUsersFromSharedGroup(String groupId, Collection<String> users);
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingServerPluginVersion.java b/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingServerPluginVersion.java
deleted file mode 100644
index cba4a9f2b725fdb735fa584f6c6d08b5143730d4..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingServerPluginVersion.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-public interface InstantMessagingServerPluginVersion {
-	
-	
-	/**
-	 * 
-	 * @return the plugin version
-	 */
-	public String getPluginVersion();
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionCount.java b/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionCount.java
deleted file mode 100644
index 7ac2e4bf18ea87975404e1238c4ad48d5727e99d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionCount.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-/**
- * Description:<br>
- * Counts Instant Messaging sessions either locally or clusterwide
- * 
- * <P>
- * Initial Date:  07.08.2008 <br>
- * @author guido
- */
-public interface InstantMessagingSessionCount {
-
-	/**
-	 * 
-	 * @return total number of sessions
-	 */
-	public int countSessions();
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionItems.java b/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionItems.java
deleted file mode 100644
index 9fd50196d6bc13e8353bf69ce10bf5b406da3899..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/InstantMessagingSessionItems.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.List;
-
-import org.olat.core.id.Identity;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-
-/**
- * 
- * Description:<br>
- * get information about all logged in users either locally or clusterWide depending on the impl.
- * 
- * <P>
- * Initial Date:  06.08.2008 <br>
- * @author guido
- */
-public interface InstantMessagingSessionItems {
-	
-	/**
-	 * returns a list of all connected users. If in single vm mode it collects the olat sessions if cluster wide
-	 * the implementation asks the IM server for a list of all sessions.
-	 * @param the identity of the current user which gets excluded from the cache
-	 * @return the list
-	 */
-	public List<ConnectedUsersListEntry> getConnectedUsers(Identity currentUser);
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/PluginVersion.java b/src/main/java/org/olat/instantMessaging/syncservice/PluginVersion.java
deleted file mode 100644
index 74f85800030fd52617a4e56092da9ae43c14c737..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/PluginVersion.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff. Queries plugin version
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class PluginVersion extends IQ {
-
-	public static final String NAMESPACE = "iq:plugin:version";
-	static final String NAMESPACE_ELEMENT = "<query xmlns=\"" + NAMESPACE + "\"/>";
-	private String version;
-	
-	public PluginVersion() {
-		setType(IQ.Type.GET);
-	}
-
-	@Override
-	public String getChildElementXML() {
-		return NAMESPACE_ELEMENT;
-	}
-	
-	/**
-	 * inner class
-	 * @author guido
-	 *
-	 */
-	public static class Provider implements IQProvider {
-
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider
-		 *  has a public,no-argument constructor 
-		 */
-		public Provider() {
-			/***/
-		}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-
-			PluginVersion plugin = new PluginVersion();
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-				if (eventType == XmlPullParser.START_TAG) {
-					if (parser.getName().equals("version")) {
-						plugin.setVersion(parser.nextText());
-						done = true;
-					}
-				}
-			}
-			return plugin;
-		}
-	}
-
-	void setVersion(String version) {
-		this.version = version;
-		
-	}
-	/**
-	 * 
-	 * @return the number of active sessions on the IM server
-	 */
-	public String getVersion() {
-		return this.version;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreation.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreation.java
deleted file mode 100644
index 4c70f874cc521759f4d77503de6cf46b18e6cfde..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreation.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-
-package org.olat.instantMessaging.syncservice;
-
-/**
- * Interface for account creation of an instant messaging account on a suitable
- * server. Change spring config at module instant messaging to choose an other
- * implementation at startup. An instance of the implemenation is created at
- * startup by the InstantMessagingModule.init() method.
- * 
- * @author guido
- */
-public interface RemoteAccountCreation {
-	
-	/**
-	 * @param username
-	 * @param password
-	 * @param name
-	 * @param email
-	 * @return true if successfull account creation
-	 */
-	public boolean createAccount(String username, String password, String name, String email);
-	
-	/**
-	 * delete an account on the IM server
-	 * @param username
-	 * @return
-	 */
-	public boolean deleteAccount(String username);
-
-	/**
-	 * check wheter the user has already an account on the IM server
-	 * @param username
-	 * @return
-	 */
-	public boolean hasAccount(String username);
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreationOverXMPP.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreationOverXMPP.java
deleted file mode 100644
index a7dc6f8bd12c9ffdd8fa496c73f426fe3b0580ee..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoteAccountCreationOverXMPP.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.PacketCollector;
-import org.jivesoftware.smack.SmackConfiguration;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketIDFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.ProviderManager;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.instantMessaging.AdminUserConnection;
-
-/**
- * Description:<br>
- * implementation of the account creator over XMPP messaging protocoll
- * 
- * <P>
- * Initial Date:  31.07.2008 <br>
- * @author guido
- */
-public class RemoteAccountCreationOverXMPP implements RemoteAccountCreation {
-	
-	private AdminUserConnection adminUser;
-	OLog log = Tracing.createLoggerFor(this.getClass());
-
-	public RemoteAccountCreationOverXMPP() {
-		ProviderManager providerMgr = ProviderManager.getInstance();
-		//register iq handlers
-		providerMgr.addIQProvider("query", UserCreate.NAMESPACE, new UserCreate.Provider());
-		providerMgr.addIQProvider("query", UserDelete.NAMESPACE, new UserDelete.Provider());
-		providerMgr.addIQProvider("query", UserCheck.NAMESPACE, new UserCheck.Provider());
-		
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.RemoteAccountCreation#createAccount(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public boolean createAccount(String username, String password, String name, String email) {
-		if (log.isDebug()) log.debug("trying to create IM account on server for username:"+username);
-		return sendPacket(new UserCreate(username, password, email, name));
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.RemoteAccountCreation#deleteAccount(java.lang.String)
-	 */
-	public boolean deleteAccount(String username) {
-		if (log.isDebug()) log.debug("trying to delete IM account on server for username:"+username);
-		return sendPacket(new UserDelete(username));
-	}
-	
-	private boolean sendPacket(IQ packet) {
-		XMPPConnection con = adminUser.getConnection();
-		//fxdiff: FXOLAT-233 
-		if (con==null) return false;
-		try {
-			packet.setFrom(con.getUser());
-			PacketCollector collector = con.createPacketCollector(new PacketIDFilter(packet.getPacketID()));
-			con.sendPacket(packet);
-			IQ response = (IQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
-			collector.cancel();
-			
-			if (response == null) {
-				// OLAT-5384: error happens frequently, lowering to WARN
-				log.warn("Error while trying to create/delete user at IM server. Response was null!");
-				return false;
-			}
-			if (response.getError() != null) {
-				if (response.getError().getCode() == 503) {
-					//503 code means service not available, IM server plugin may not installed
-					log.error("Openfire and OLAT talk over an custom Openfire plugin. Please make sure you have it installed! " +
-							"Download it under http://www.olat.org/downloads/stable/olatUserAndGroupService.jar");
-				} else if (response.getError().getCode() == 407 || response.getError().getCode() == 409) {
-					//407 or 409 -> conflict / user already exists
-					return true;
-				} else if (response.getError().getCode() == 404) {
-					//404 -> user not found, ok when trying to delete
-					return true;
-				}
-				log.warn("Error while trying to create/delete user at IM server. Errorcode: "+response.getError().getCode());
-				return false;
-			} else if (response.getType() == IQ.Type.ERROR) {
-				log.error("Error while trying to create/delete user at IM server. Response type error");
-				return false;
-			}
-			if (response instanceof UserCheck) {
-				UserCheck check = (UserCheck) response;
-				return check.hasAccount();
-			}
-			return true;
-		} catch (Exception e) {
-			log.error("Error while trying to create/delete user at IM server", e);
-			return false;
-		}
-	}
-
-	public void setConnection(AdminUserConnection adminUser) {
-		this.adminUser = adminUser;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.syncservice.RemoteAccountCreation#hasAccount(java.lang.String)
-	 */
-	public boolean hasAccount(String username) {
-		return sendPacket(new UserCheck(username));
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoteGroupCreationOverXMPP.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoteGroupCreationOverXMPP.java
deleted file mode 100644
index 9e4c4b9504cd041292f782a08c5aa41d39ffad50..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoteGroupCreationOverXMPP.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.Collection;
-
-import org.jivesoftware.smack.PacketCollector;
-import org.jivesoftware.smack.SmackConfiguration;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketIDFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.ProviderManager;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.instantMessaging.AdminUserConnection;
-
-/**
- * Description:<br>
- * creates groups on the remote IM server
- * 
- * <P>
- * Initial Date:  31.07.2008 <br>
- * @author guido
- */
-public class RemoteGroupCreationOverXMPP implements InstantMessagingGroupSynchronisation {
-	
-	OLog log = Tracing.createLoggerFor(this.getClass());
-	private AdminUserConnection adminUser;
-
-	public RemoteGroupCreationOverXMPP() {
-		
-		ProviderManager providerMgr = ProviderManager.getInstance();
-		//register iq handler
-		providerMgr.addIQProvider("query", GroupCreate.NAMESPACE, new GroupCreate.Provider());
-		providerMgr.addIQProvider("query", GroupDelete.NAMESPACE, new GroupDelete.Provider());
-		
-		providerMgr.addIQProvider("query", AddUserToGroup.NAMESPACE, new AddUserToGroup.Provider());
-		providerMgr.addIQProvider("query", RemoveUserFromGroup.NAMESPACE, new RemoveUserFromGroup.Provider());
-	}
-	
-	public void setConnection(AdminUserConnection adminUser) {
-		this.adminUser = adminUser;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingGroupSynchronisation#createSharedGroup(java.lang.String, java.lang.String, java.util.List)
-	 */
-	@Override
-	public boolean createSharedGroup(String groupId, String displayName) {
-		boolean statusOk = true;
-		if (!sendPacket(new GroupCreate(groupId, displayName, null))) {
-			log.error("could not create shared group: "+groupId);
-			statusOk = false;
-		}
-		return statusOk;
-	}
-	
-	@Override
-	public boolean addUserToSharedGroup(String groupId, Collection<String> users) {
-		boolean statusOk = true;
-		if (users != null && !users.isEmpty()) {
-			int cnt=0;
-			for (String username : users) {
-				if (!sendPacket(new AddUserToGroup(username, groupId))) {
-					log.error("adding user to shard group failed. group: "+groupId+" and user: "+username);
-					statusOk = false;
-				}
-				if (++cnt%8==0) {
-					DBFactory.getInstance().intermediateCommit();
-					//fxdiff: FXOLAT-219 decrease to load generated by synching learning groups
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						log.error("", e);
-					}
-				}
-			}
-		}
-		return statusOk;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingGroupSynchronisation#deleteSharedGroup(java.lang.String)
-	 */
-	@Override
-	public boolean deleteSharedGroup(String groupId) {
-		boolean statusOk = sendPacket(new GroupDelete(groupId));
-		if(!statusOk) {
-			// OLAT-5384: error happens frequently, lowering to WARN
-			log.warn("could not delete shared group: "+groupId);
-		}
-		return statusOk;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingGroupSynchronisation#removeUserFromSharedGroup(java.lang.String, java.lang.String)
-	 */
-	@Override
-	public boolean removeUserFromSharedGroup(String groupId, String username) {
-		boolean statusOk =  sendPacket(new RemoveUserFromGroup(username, groupId));
-		if(!statusOk) {
-			log.error("could not remove user from shared group: "+groupId + " username: "+username);
-		}
-		return statusOk;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingGroupSynchronisation#removeUsersFromSharedGroup(java.lang.String, java.lang.String[])
-	 */
-	@Override
-	public boolean removeUsersFromSharedGroup(String groupId, Collection<String> users) {
-		boolean allOk = true;
-		for (String username : users) {
-			Boolean ok = sendPacket(new RemoveUserFromGroup(username, groupId));
-			if (!ok) {
-				log.error("removing user from shared group failed. group: "+groupId+" and user: "+username);
-			}
-			allOk &= ok;
-		}
-		return allOk;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingGroupSynchronisation#renameSharedGroup(java.lang.String, java.lang.String)
-	 */
-	@Override
-	public boolean renameSharedGroup(String groupId, String displayName) {
-		//if group exists it will be renamed
-		return createSharedGroup(groupId, displayName);
-	}
-	
-	private boolean sendPacket(IQ packet) {
-		XMPPConnection con = adminUser.getConnection();
-		//fxdiff: FXOLAT-233 
-		if (con==null) return false;
-		try {
-			packet.setFrom(con.getUser());
-			PacketCollector collector = con.createPacketCollector(new PacketIDFilter(packet.getPacketID()));
-			con.sendPacket(packet);
-			IQ response = (IQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
-			collector.cancel();
-			
-			if (response == null) {
-				log.warn("Error while trying to create/delete group at IM server. Response was null! packet type: "+packet.getClass());
-				return false;
-			}
-			if (response.getError() != null) {
-				if (response.getError().getCode() == 409) {
-					//409 -> conflict / group already exists
-					return true;
-				} else if (response.getError().getCode() == 404) {
-					//404 -> not found, does not matter when trying to delete
-					return true;
-				}
-				log.error("Error while trying to create/delete group at IM server. "+response.getError().getMessage());
-				return false;
-			} else if (response.getType() == IQ.Type.ERROR) {
-				log.error("Error while trying to create/delete group at IM server");
-				return false;
-			}
-			return true;
-		} catch (RuntimeException e) {
-			log.error("Error while trying to create/delete group at IM server");
-			return false;
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemotePluginVersionOverXMPP.java b/src/main/java/org/olat/instantMessaging/syncservice/RemotePluginVersionOverXMPP.java
deleted file mode 100644
index 7445d5f1c125533b397637fa680b9662e884c65e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemotePluginVersionOverXMPP.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.PacketCollector;
-import org.jivesoftware.smack.SmackConfiguration;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketIDFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.ProviderManager;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.instantMessaging.AdminUserConnection;
-
-/**
- * Description:<br>
- * return plugin version 
- * 
- * <P>
- * Initial Date:  07.08.2008 <br>
- * @author guido
- */
-public class RemotePluginVersionOverXMPP implements InstantMessagingServerPluginVersion {
-	
-	OLog log = Tracing.createLoggerFor(this.getClass());
-	private String version;
-	private AdminUserConnection adminUser;
-	
-	RemotePluginVersionOverXMPP() {
-		//register IQ handler
-		ProviderManager providerMgr = ProviderManager.getInstance();
-		providerMgr.addIQProvider("query", PluginVersion.NAMESPACE, new PluginVersion.Provider());
-		
-	}
-	
-	public void setConnection(AdminUserConnection adminUser) {
-		this.adminUser = adminUser;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.syncservice.IInstantMessagingSessionCount#countSessions()
-	 */
-	public String getPluginVersion() {
-		XMPPConnection con = adminUser.getConnection();
-		if (con != null && con.isConnected()) {
-			PluginVersion response;
-			try {
-				IQ packet = new PluginVersion();
-				packet.setFrom(con.getUser());
-				PacketCollector collector = con.createPacketCollector(new PacketIDFilter(packet.getPacketID()));
-				//TODO:gs is sending packets over one connection thread save?
-				con.sendPacket(packet);
-				response = (PluginVersion) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
-				collector.cancel();
-				if (response == null) {
-					log.error("Error while trying to get version at IM server. Response was null!");
-					return version;
-				}
-				if (response.getError() != null) {
-					log.error("Error while trying to get version at IM server. "+response.getError().getMessage());
-					return version;
-				} else if (response.getType() == IQ.Type.ERROR) {
-					log.error("Error while trying to get version at IM server");
-					return version;
-				}
-				return response.getVersion();
-				
-			} catch (Exception e) {
-				log.error("Error while trying to get version at IM server. Response was null!", e);
-				return version;
-			}
-		
-		} return version;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionCountOverXMPP.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionCountOverXMPP.java
deleted file mode 100644
index 6c739046eb548e7fc91c6ca7343b0148bfe8685d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionCountOverXMPP.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.PacketCollector;
-import org.jivesoftware.smack.SmackConfiguration;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketIDFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.ProviderManager;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.instantMessaging.AdminUserConnection;
-
-/**
- * Description:<br>
- * counts IM sessions cluster wide by sending custom xmpp packet to IM server
- * 
- * <P>
- * Initial Date:  07.08.2008 <br>
- * @author guido
- */
-public class RemoteSessionCountOverXMPP implements InstantMessagingSessionCount {
-	
-	OLog log = Tracing.createLoggerFor(this.getClass());
-	private int sessionCount = 0;
-	private AdminUserConnection adminUser;
-	
-	RemoteSessionCountOverXMPP() {
-		//register IQ handler
-		ProviderManager providerMgr = ProviderManager.getInstance();
-		providerMgr.addIQProvider("query", SessionCount.NAMESPACE, new SessionCount.Provider());
-		
-	}
-	
-	public void setConnection(AdminUserConnection adminUser) {
-		this.adminUser = adminUser;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.syncservice.IInstantMessagingSessionCount#countSessions()
-	 */
-	public int countSessions() {
-		XMPPConnection con = adminUser.getConnection();
-		if (con != null && con.isConnected()) {
-			//TODO:gs may put in other thread???
-			SessionCount response;
-			try {
-				IQ packet = new SessionCount();
-				packet.setFrom(con.getUser());
-				PacketCollector collector = con.createPacketCollector(new PacketIDFilter(packet.getPacketID()));
-				con.sendPacket(packet);
-				response = (SessionCount) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
-				collector.cancel();
-				if (response == null) {
-					log.warn("Error while trying to count sessions at IM server. Response was null!");
-					return sessionCount;
-				}
-				if (response.getError() != null) {
-					log.warn("Error while trying to count sessions at IM server. "+response.getError().getMessage());
-					return sessionCount;
-				} else if (response.getType() == IQ.Type.ERROR) {
-					log.warn("Error while trying to count sessions at IM server");
-					return sessionCount;
-				}
-				sessionCount = response.getNumberOfSessions();
-				if (sessionCount > 0) return sessionCount-1;
-				return sessionCount;
-	
-			} catch (Exception e) {
-				log.warn("Error while trying to count sessions at IM server. Response was null!", e);
-				return sessionCount;
-			}
-		
-		} return sessionCount;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionsOnIMServerOverXMPP.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionsOnIMServerOverXMPP.java
deleted file mode 100644
index f6a88532573e4d23bfc0a67b7bc3c70f0376a921..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoteSessionsOnIMServerOverXMPP.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.jivesoftware.smack.PacketCollector;
-import org.jivesoftware.smack.SmackConfiguration;
-import org.jivesoftware.smack.XMPPConnection;
-import org.jivesoftware.smack.filter.PacketIDFilter;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.ProviderManager;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.core.util.cache.n.CacheWrapper;
-import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.instantMessaging.AdminUserConnection;
-import org.olat.instantMessaging.IMConfig;
-import org.olat.instantMessaging.ImPreferences;
-import org.olat.instantMessaging.ImPrefsManager;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.syncservice.IMSessionItems.Item;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-
-public class RemoteSessionsOnIMServerOverXMPP  implements InstantMessagingSessionItems {
-	
-	OLog log = Tracing.createLoggerFor(this.getClass());
-	private AdminUserConnection adminUser;
-	private CacheWrapper sessionItemsCache;
-	private ImPrefsManager imPrefsManager;
-	
-	public RemoteSessionsOnIMServerOverXMPP(ImPrefsManager imPrefsManager) {
-		this.imPrefsManager = imPrefsManager;
-		ProviderManager providerMgr = ProviderManager.getInstance();
-		//register iq handler
-		providerMgr.addIQProvider("query", SessionItems.NAMESPACE, new SessionItems.Provider());
-	}
-	
-	public void setConnection(AdminUserConnection adminUser) {
-		this.adminUser = adminUser;
-	}
-
-	/**
-	 * 
-	 * @see org.olat.instantMessaging.AllOnlineUsers#getConnectedUsers()
-	 */
-	public List<ConnectedUsersListEntry> getConnectedUsers(Identity currentUser) {
-		/**
-		 * create a cache for the entries as looping over a few hundred entries need too much time.
-		 * Every node has its own cache and therefore no need to inform each other
-		 * o_clusterOK by guido
-		 */
-		if (sessionItemsCache == null) {
-			synchronized (this) {
-				sessionItemsCache = CoordinatorManager.getInstance().getCoordinator().getCacher().getOrCreateCache(this.getClass(), "items");
-			}
-		}
-		String currentUsername = currentUser.getName();
-		List<ConnectedUsersListEntry> entries = new ArrayList<ConnectedUsersListEntry>();
-		IMSessionItems imSessions = (IMSessionItems) sendPacket(new SessionItems());
-		List<IMSessionItems.Item> sessions = imSessions.getItems();
-		
-		for (Iterator<Item> iter = sessions.iterator(); iter.hasNext();) {
-			IMSessionItems.Item item = iter.next();
-			
-			if (item.getResource().startsWith(IMConfig.RESOURCE)) {
-				ConnectedUsersListEntry entry = (ConnectedUsersListEntry)sessionItemsCache.get(item.getUsername());
-				if (entry != null && !item.getUsername().equals(currentUsername)) {
-					entries.add(entry);
-					log.debug("loading item from cache: "+item.getUsername());
-				} else {
-				
-					Identity identity = BaseSecurityManager.getInstance().findIdentityByName(item.getUsername());
-					if (identity != null) {
-						identity = (Identity) DBFactory.getInstance().loadObject(identity);
-						try {
-							ImPreferences imPrefs = imPrefsManager.loadOrCreatePropertiesFor(identity);
-							if ( (imPrefs != null) ) {
-								entry = new ConnectedUsersListEntry(item.getUsername(), identity.getUser().getPreferences().getLanguage());
-								entry.setName(identity.getUser().getProperty(UserConstants.LASTNAME, null));
-								entry.setPrename(identity.getUser().getProperty(UserConstants.FIRSTNAME, null));
-								entry.setShowAwarenessMessage(imPrefs.isAwarenessVisible());
-								entry.setShowOnlineTime(imPrefs.isOnlineTimeVisible());
-								entry.setAwarenessMessage(item.getPresenceMsg());
-								entry.setInstantMessagingStatus(item.getPresenceStatus());
-								entry.setLastActivity(item.getLastActivity());
-								entry.setOnlineTime(item.getLoginTime());
-								entry.setJabberId(InstantMessagingModule.getAdapter().getUserJid(item.getUsername()));
-								entry.setVisibleToOthers(imPrefs.isVisibleToOthers());
-								entry.setResource(item.getResource());
-								entries.add(entry);
-								
-								//put in cache. Sync. is done by cache
-								sessionItemsCache.put(item.getUsername(), entry);
-							}
-						} catch (AssertException ex) {
-							log.warn("Can not load IM-Prefs for identity=" + identity, ex);
-						}
-					}
-				}
-			}
-		} //end of loop
-		return entries;
-	}
-	
-	private IQ sendPacket(IQ packet) {
-		XMPPConnection con = adminUser.getConnection();
-		//fxdiff: FXOLAT-233 
-		if (con==null) return null;
-		try {
-			packet.setFrom(con.getUser());
-			PacketCollector collector = con.createPacketCollector(new PacketIDFilter(packet.getPacketID()));
-			con.sendPacket(packet);
-			IQ response = (IQ) collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
-			collector.cancel();
-			
-			if (response == null) {
-				log.warn("Error while trying to get all sessions IM server. Response was null!");
-				return null;
-			}
-			if (response.getError() != null) {
-				log.warn("Error while trying to get all sessions IM server. "+response.getError().getMessage());
-				return null;
-			} else if (response.getType() == IQ.Type.ERROR) {
-				//TODO:gs  handle conflict case when user already exists
-				//System.out.println("error response: "+response.getChildElementXML());
-				log.warn("Error while trying to get all sessions at IM server");
-				return null;
-			}
-			return response;
-		} catch (RuntimeException e) {
-			log.warn("Error while trying to get all sessions at IM server");
-			return null;
-		} catch (Exception e) {
-			log.warn("Error while trying to get all sessions at IM server");
-			return null;
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/RemoveUserFromGroup.java b/src/main/java/org/olat/instantMessaging/syncservice/RemoveUserFromGroup.java
deleted file mode 100644
index cc0412ecae1c36b4f2f1566fb47aeb12524928e2..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/RemoveUserFromGroup.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * TODO: guido Class Description for AddUserToGroup
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class RemoveUserFromGroup extends IQ {
-
-	static final String NAMESPACE = "iq:group:user:remove";
-	private boolean deleted;
-	private String username;
-	private String groupname;
-
-	/**
-	 * 
-	 * @param username
-	 * @param groupname
-	 */
-	public RemoveUserFromGroup(String username, String groupname) {
-		this.username = username;
-		this.groupname = groupname;
-		setType(IQ.Type.SET);
-	}
-	
-	public RemoveUserFromGroup() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-        buf.append("<username>").append(username).append("</username>");
-        buf.append("<groupname>").append(groupname).append("</groupname>");
-        buf.append("</query>");
-        return buf.toString();
-	}
-	
-	public static class Provider implements IQProvider {
-  		
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-   		constructor  */
-		public Provider() {/***/}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-			
-			RemoveUserFromGroup removeUser = new RemoveUserFromGroup();
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-			       if (eventType == XmlPullParser.START_TAG) {
-			    	   removeUser.setCreated(true);
-			    	   done = true;
-			    	 }
-			}
-		return removeUser;
-		}
-	}
-
-	protected void setCreated(boolean created) {
-		this.deleted = created;
-	}
-
-	public boolean isCreated() {
-		return deleted;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/SessionCount.java b/src/main/java/org/olat/instantMessaging/syncservice/SessionCount.java
deleted file mode 100644
index c091ce828d390b50ba79ae0c30742924a04fd427..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/SessionCount.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff. With this class we use the IM server to count all users
- * clusterwide.
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class SessionCount extends IQ {
-
-	public static final String NAMESPACE = "iq:user:sessioncount";
-	static final String NAMESPACE_ELEMENT = "<query xmlns=\"" + NAMESPACE + "\"/>";
-	private int numberOfSessions;
-	
-	public SessionCount() {
-		setType(IQ.Type.GET);
-	}
-
-	@Override
-	public String getChildElementXML() {
-		return NAMESPACE_ELEMENT;
-	}
-	
-	/**
-	 * inner class
-	 * @author guido
-	 *
-	 */
-	public static class Provider implements IQProvider {
-
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider
-		 *  has a public,no-argument constructor 
-		 */
-		public Provider() {
-			/***/
-		}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-
-			SessionCount sCount = new SessionCount();
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-				if (eventType == XmlPullParser.START_TAG) {
-					if (parser.getName().equals("sessioncount")) {
-						String sessions = parser.nextText();
-						sCount.setNumberOfSessions(Integer.valueOf(sessions).intValue());
-						done = true;
-					}
-				}
-			}
-			return sCount;
-		}
-	}
-
-	void setNumberOfSessions(int numberOfSessions) {
-		this.numberOfSessions = numberOfSessions;
-		
-	}
-	/**
-	 * 
-	 * @return the number of active sessions on the IM server
-	 */
-	public int getNumberOfSessions() {
-		return this.numberOfSessions;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/SessionCountLocal.java b/src/main/java/org/olat/instantMessaging/syncservice/SessionCountLocal.java
deleted file mode 100644
index 3beaeeefdf2dcc9a9a2608b26a3ee47d0cc7e50e..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/SessionCountLocal.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.olat.instantMessaging.InstantMessagingModule;
-
-/**
- * Description:<br>
- * counts instant messaging sessions logged on on local vm
- * 
- * <P>
- * Initial Date:  08.08.2008 <br>
- * @author guido
- */
-public class SessionCountLocal implements InstantMessagingSessionCount {
-
-	
-	public SessionCountLocal() {
-		//used by spring
-	}
-	/**
-	 * @see org.olat.instantMessaging.InstantMessagingSessionCount#countSessions()
-	 */
-	public int countSessions() {
-		return InstantMessagingModule.getAdapter().getClientManager().getClients().size();
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/SessionItems.java b/src/main/java/org/olat/instantMessaging/syncservice/SessionItems.java
deleted file mode 100644
index 65a4e80721612061d4b42c81df9b3eb1869bc82a..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/SessionItems.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff. With this class we use the IM server to get information of all users
- * clusterwide.
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class SessionItems extends IQ {
-
-	public static final String NAMESPACE = "iq:user:sessionitems";
-	static final String NAMESPACE_ELEMENT = "<query xmlns=\"" + NAMESPACE + "\"/>";
-	private List<ConnectedUsersListEntry> sessions = new ArrayList<ConnectedUsersListEntry>();
-	
-	public SessionItems() {
-		setType(IQ.Type.GET);
-	}
-
-	@Override
-	public String getChildElementXML() {
-		return NAMESPACE_ELEMENT;
-	}
-	
-	/**
-	 * inner class
-	 * @author guido
-	 *
-	 */
-	public static class Provider implements IQProvider {
-
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider
-		 *  has a public,no-argument constructor 
-		 */
-		public Provider() {
-			/***/
-		}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-			String username = "";
-			String presenceStatus ="";
-			String presenceMsg ="";
-			long lastActivity = 0;
-			long loginTime = 0;
-			String resource = "";
-
-			IMSessionItems items = new IMSessionItems();
-			IMSessionItems.Item item;
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-				
-        if (eventType == XmlPullParser.START_TAG && "item".equals(parser.getName())) {
-            // Initialize the variables from the parsed XML
-            username = parser.getAttributeValue("", "username");
-            presenceStatus = parser.getAttributeValue("", "presenceStatus");
-            presenceMsg = parser.getAttributeValue("", "presenceMsg");
-            lastActivity = Long.valueOf(parser.getAttributeValue("", "lastActivity")).longValue();
-            loginTime = Long.valueOf(parser.getAttributeValue("", "loginTime")).longValue();
-            resource = parser.getAttributeValue("", "resource");
-        }
-        else if (eventType == XmlPullParser.END_TAG && "item".equals(parser.getName())) {
-            // Create a new Item and add it to DiscoverItems.
-            item = new IMSessionItems.Item(username);
-            item.setPresenceStatus(presenceStatus);
-            item.setPresenceMsg(presenceMsg);
-            item.setLastActivity(lastActivity);
-            item.setLoginTime(loginTime);
-						item.setResource(resource);
-            items.addItem(item);
-        }
-        else if (eventType == XmlPullParser.END_TAG && "query".equals(parser.getName())) {
-            done = true;
-        }
-			}
-			return items;
-		}
-	}
-
-	/**
-	 * 
-	 * @return the active session items on the IM server
-	 */
-	public List<ConnectedUsersListEntry> getSessionItems() {
-		return sessions;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/SyncUserListTask.java b/src/main/java/org/olat/instantMessaging/syncservice/SyncUserListTask.java
deleted file mode 100644
index c589436266a87b14be74a45b138b4dc3d0160038..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/SyncUserListTask.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * <a href="http://www.openolat.org">
- * OpenOLAT - Online Learning and Training</a><br>
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); <br>
- * you may not use this file except in compliance with the License.<br>
- * You may obtain a copy of the License at the
- * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
- * <p>
- * Unless required by applicable law or agreed to in writing,<br>
- * software distributed under the License is distributed on an "AS IS" BASIS, <br>
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
- * See the License for the specific language governing permissions and <br>
- * limitations under the License.
- * <p>
- * Initial code contributed and copyrighted by<br>
- * frentix GmbH, http://www.frentix.com
- * <p>
- */
-package org.olat.instantMessaging.syncservice;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.olat.group.BusinessGroup;
-import org.olat.instantMessaging.InstantMessagingModule;
-
-/**
- * A task to sync a list of users with a roster
- * 
- * 
- * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
- */
-public class SyncUserListTask implements Runnable {
-	
-	private final String groupId;
-	private final String groupDisplayName;
-	private final Set<String> userToAdd = new HashSet<String>();
-	private final Set<String> userToRemove = new HashSet<String>();
-	
-	/**
-	 * 
-	 * @param group
-	 */
-	public SyncUserListTask(BusinessGroup group) {
-		groupId = InstantMessagingModule.getAdapter().createChatRoomString(group);
-		groupDisplayName = group.getName();
-	}
-	
-	public Set<String> getUserToAdd() {
-		return userToAdd;
-	}
-
-	public void addUserToAdd(String username) {
-		userToAdd.add(username);
-	}
-
-	public Set<String> getUserToRemove() {
-		return userToRemove;
-	}
-	
-	public void addUserToRemove(String username) {
-		userToRemove.add(username);
-	}
-	
-	public boolean isEmpty() {
-		return userToRemove.isEmpty() && userToAdd.isEmpty();
-	}
-
-	/**
-	 * @see java.lang.Runnable#run()
-	 */
-	public void run() {
-		InstantMessagingModule.getAdapter().syncFriendsRoster(groupId, groupDisplayName, userToAdd, userToRemove);
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/UserCheck.java b/src/main/java/org/olat/instantMessaging/syncservice/UserCheck.java
deleted file mode 100644
index bb14c86762cccf135d7e03e033995c636b00f396..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/UserCheck.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * Description:<br>
- * check whether an im accounts exists on the server or not
- * 
- * <P>
- * Initial Date:  13.08.2008 <br>
- * @author guido
- */
-public class UserCheck extends IQ {
-	
-	static final String NAMESPACE = "iq:user:check";
-	private String username;
-	private Boolean hasAccount;
-
-	public UserCheck(String username) {
-		this.username = username;
-		setType(IQ.Type.GET);
-	}
-
-	public UserCheck() {
-		//
-	}
-	
-	public void setHasAccount(Boolean account) {
-		this.hasAccount = account;
-	}
-
-	protected Boolean hasAccount() {
-		return hasAccount;
-	}
-
-	/**
-	 * @see org.jivesoftware.smack.packet.IQ#getChildElementXML()
-	 */
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-    buf.append("<username>").append(username).append("</username>");
-    buf.append("</query>");
-    return buf.toString();
-	}
-	
-	/**
-	 * inner class
-	 * @author guido
-	 *
-	 */
-	public static class Provider implements IQProvider {
-
-		/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider
-		 *  has a public,no-argument constructor 
-		 */
-		public Provider() {
-			/***/
-		}
-
-		public IQ parseIQ(XmlPullParser parser) throws Exception {
-
-			UserCheck check = new UserCheck();
-			boolean done = false;
-			while (!done) {
-				int eventType = parser.next();
-				if (eventType == XmlPullParser.START_TAG) {
-					if (parser.getName().equals("exists")) {
-						check.setHasAccount(Boolean.valueOf(parser.nextText()));
-						done = true;
-					}
-				}
-			}
-			return check;
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/UserCreate.java b/src/main/java/org/olat/instantMessaging/syncservice/UserCreate.java
deleted file mode 100644
index a59190abc9469e400ceb5c9b4a81b30b98621e5f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/UserCreate.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class UserCreate extends IQ {
-	
-	static final String NAMESPACE = "iq:user:create";
-	private String username;
-	private String password;
-	private String fullname;
-	private String email;
-	private boolean created;
-
-	/**
-	 * 
-	 */
-	public UserCreate(String username, String password, String email ,String fullname) {
-		this.username = username;
-		this.password = password;
-		this.fullname = StringEscapeUtils.escapeXml(fullname);
-		this.email = email;
-		setType(IQ.Type.SET);
-	}
-	
-	/**
-	 * 
-	 */
-	public UserCreate() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-    buf.append("<username>").append(username).append("</username>");
-    buf.append("<password>").append(password).append("</password>");
-    buf.append("<email>").append(email).append("</email>");
-    buf.append("<fullname>").append(fullname).append("</fullname>");
-    buf.append("</query>");
-    return buf.toString();
-	}
-	
-	
-	public void setCreated(boolean success) {
-		this.created = success;
-	}
-	
-	public boolean isCreated() {
-		return this.created;
-	}
-	
-	public static class Provider implements IQProvider {
-		  		
-				/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-		   		constructor  */
-				public Provider() {/***/}
-
-				public IQ parseIQ(XmlPullParser parser) throws Exception {
-					
-					UserCreate creator = new UserCreate();
-					boolean done = false;
-					while (!done) {
-						int eventType = parser.next();
-					       if (eventType == XmlPullParser.START_TAG) {
-					           creator.setCreated(true);
-					    	   done = true;
-					    	 }
-					}
-				return creator;
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/syncservice/UserDelete.java b/src/main/java/org/olat/instantMessaging/syncservice/UserDelete.java
deleted file mode 100644
index 55bc18099f64da271d909f87c6d7d075b364be20..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/syncservice/UserDelete.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging.syncservice;
-
-import org.jivesoftware.smack.packet.IQ;
-import org.jivesoftware.smack.provider.IQProvider;
-import org.xmlpull.v1.XmlPullParser;
-
-/**
- * 
- * Description:<br>
- * Creates an XMPP package with a custom nameSpace and handles the response of it.
- * This is used to talk with the instant messaging server over the same protocol that is 
- * also used for chat/groupchat stuff
- * 
- * <P>
- * Initial Date:  04.08.2008 <br>
- * @author guido
- */
-public class UserDelete extends IQ {
-	
-	static final String NAMESPACE = "iq:user:delete";
-	private String username;
-	private boolean deleted;
-
-	/**
-	 * 
-	 */
-	public UserDelete(String username) {
-		this.username = username;
-		setType(IQ.Type.SET);
-	}
-	
-	/**
-	 * 
-	 */
-	public UserDelete() {
-		//
-	}
-
-	@Override
-	public String getChildElementXML() {
-		StringBuilder buf = new StringBuilder();
-		buf.append("<query xmlns=\"").append(NAMESPACE).append("\">");
-        buf.append("<username>").append(username).append("</username>");
-        buf.append("</query>");
-        return buf.toString();
-	}
-	
-	
-	protected void setDeleted(boolean success) {
-		this.deleted = success;
-	}
-	
-	public boolean isDeleted() {
-		return this.deleted;
-	}
-	
-	public static class Provider implements IQProvider {
-		  		
-				/** Creates a new Provider. ProviderManager requires that every PacketExtensionProvider has a public,no-argument
-		   		constructor  */
-				public Provider() {/***/}
-
-				public IQ parseIQ(XmlPullParser parser) throws Exception {
-					
-					UserDelete userDelete = new UserDelete();
-					boolean done = false;
-					while (!done) {
-						int eventType = parser.next();
-					       if (eventType == XmlPullParser.START_TAG) {
-					    	   userDelete.setDeleted(true);
-					    	   done = true;
-					    	 }
-					}
-				return userDelete;
-		}
-	}
-	
-	
-}
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatController.java b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
new file mode 100644
index 0000000000000000000000000000000000000000..a18a6dfcce5cafdf8b9b8d1d16346a77d494da95
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
@@ -0,0 +1,335 @@
+/**
+* OLAT - Online Learning and Training<br>
+* http://www.olat.org
+* <p>
+* Licensed under the Apache License, Version 2.0 (the "License"); <br>
+* you may not use this file except in compliance with the License.<br>
+* You may obtain a copy of the License at
+* <p>
+* http://www.apache.org/licenses/LICENSE-2.0
+* <p>
+* Unless required by applicable law or agreed to in writing,<br>
+* software distributed under the License is distributed on an "AS IS" BASIS, <br>
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+* See the License for the specific language governing permissions and <br>
+* limitations under the License.
+* <p>
+* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+* University of Zurich, Switzerland.
+* <hr>
+* <a href="http://www.openolat.org">
+* OpenOLAT - Online Learning and Training</a><br>
+* This file has been modified by the OpenOLAT community. Changes are licensed
+* under the Apache 2.0 license as the original file.  
+* <p>
+*/
+package org.olat.instantMessaging.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.panel.Panel;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
+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.floatingresizabledialog.FloatingResizableDialogController;
+import org.olat.core.id.Identity;
+import org.olat.core.id.OLATResourceable;
+import org.olat.core.util.Formatter;
+import org.olat.core.util.StringHelper;
+import org.olat.core.util.event.GenericEventListener;
+import org.olat.instantMessaging.CloseInstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessage;
+import org.olat.instantMessaging.InstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.model.Buddy;
+import org.olat.user.UserManager;
+
+/**
+ * Description:<br />
+ * Controller for a single Chat in a floating window
+ * 
+ * <P>
+ * Initial Date:  13.07.2007 <br />
+ * @author guido
+ */
+public class ChatController extends BasicController implements GenericEventListener{
+
+	private SendMessageForm sendMessageForm;
+	private ToggleAnonymousForm toggleAnonymousForm;
+	private VelocityContainer rosterVC;
+	private final VelocityContainer mainVC;
+	private final VelocityContainer chatMsgFieldContent;
+	private final Panel chatMsgFieldPanel;
+
+	private StringBuilder messageHistory = new StringBuilder();
+
+	private Link refresh;
+	private JSAndCSSComponent jsc;
+	private FloatingResizableDialogController chatPanelCtr;
+	
+	private final String jsTweakCmd;
+	private final String jsFocusCmd;
+	
+	private List<String> allChats;
+	private final Formatter formatter;
+	private static final Pattern mailPattern = Pattern.compile("((mailto\\:|(news|(ht|f)tp(s?))\\://){1}\\S+)");
+
+	private final OLATResourceable ores;
+	private final Roster buddyList;
+	
+	private final UserManager userManager;
+	private final InstantMessagingService imService;
+	
+	public ChatController(UserRequest ureq, WindowControl wControl, Buddy buddy, int offsetX, int offsetY) {
+		this(ureq, wControl, buddy, null, offsetX, offsetY);
+	}
+		
+	public ChatController(UserRequest ureq, WindowControl wControl, OLATResourceable ores, int offsetX, int offsetY) {
+		this(ureq, wControl, null, ores, offsetX, offsetY);
+	}
+	
+	private ChatController(UserRequest ureq, WindowControl wControl, Buddy buddy, OLATResourceable ores, int offsetX, int offsetY) {
+		super(ureq, wControl);
+		this.ores = ores == null ? buddy : ores;
+		
+		userManager = CoreSpringFactory.getImpl(UserManager.class);
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
+		formatter = Formatter.getInstance(getLocale());
+		
+		allChats = ureq.getUserSession().getChats();
+		allChats.add(Integer.toString(hashCode()));
+		
+		mainVC = createVelocityContainer("chat");
+		chatMsgFieldContent = createVelocityContainer("chatMsgField");
+		
+		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
+		mainVC.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
+		
+		//	checks with the given intervall if dirty components are available to rerender
+		jsc = new JSAndCSSComponent("intervall", this.getClass(), null, null, false, null, 5000);
+		mainVC.put("updatecontrol", jsc);
+		
+		imService.listenChat(getIdentity(), getOlatResourceable(), this);
+
+		sendMessageForm = new SendMessageForm(ureq, getWindowControl());
+		listenTo(sendMessageForm);
+		sendMessageForm.resetTextField();
+		mainVC.put("sendMessageForm", sendMessageForm.getInitialComponent());
+
+		chatMsgFieldPanel = new Panel("chatMsgField");
+		chatMsgFieldPanel.setContent(chatMsgFieldContent);
+		
+		if(buddy == null) {
+			buddyList = new Roster();
+			rosterVC = createVelocityContainer("roster");
+			rosterVC.contextPut("rosterList", buddyList);
+			updateRosterList();
+			toggleAnonymousForm = new ToggleAnonymousForm(ureq, getWindowControl());
+			listenTo(toggleAnonymousForm);
+			mainVC.put("toggleSwitch", toggleAnonymousForm.getInitialComponent());
+		} else {
+			rosterVC = null;
+			buddyList = null;
+		}
+
+		String roomName = buddy == null ? "Room name" : translate("im.chat.with") + ": " + buddy.getFullname();
+		chatPanelCtr = new FloatingResizableDialogController(ureq, getWindowControl(), mainVC,
+				roomName , 450, 300, offsetX, offsetY, rosterVC, translate("groupchat.roster"),
+				true, false, true, String.valueOf(hashCode()));
+		listenTo(chatPanelCtr);
+		
+		String pn = chatPanelCtr.getPanelName();
+		mainVC.contextPut("panelName", pn);
+		
+		//due to limitations in flexi form, we have to tweak focus handling manually
+		jsTweakCmd = "<script>Ext.onReady(function(){try{tweak_"+pn+"();}catch(e){}});</script>";
+		jsFocusCmd = "<script>Ext.onReady(function(){try{focus_"+pn+"();}catch(e){}});</script>";
+
+		if (buddy != null && getIdentity().getKey().equals(buddy.getIdentityKey())) {
+			chatMsgFieldContent.contextPut("chatMessages", translate("chat.with.yourself"));
+		} else {
+			chatMsgFieldContent.contextPut("chatMessages", "");
+		}
+		
+		chatMsgFieldContent.contextPut("id", hashCode());
+		mainVC.put("chatMsgFieldPanel", chatMsgFieldPanel);
+		
+		refresh = LinkFactory.createCustomLink("refresh", "cmd.refresh", "", Link.NONTRANSLATED, mainVC, this);
+		refresh.setCustomEnabledLinkCSS("b_small_icoureq.getUserSession().getSingleUserEventCenter().n sendMessageFormo_instantmessaging_refresh_icon");
+		refresh.setTitle("im.refresh");
+
+		putInitialPanel(chatPanelCtr.getInitialComponent());
+	}
+	
+	public OLATResourceable getOlatResourceable() {
+		return ores;
+	}
+
+	@Override
+	protected void doDispose() {
+		allChats.remove(Integer.toString(hashCode()));
+		imService.unlistenChat(getOlatResourceable(), this);
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if (source == chatPanelCtr) {
+			fireEvent(ureq, new CloseInstantMessagingEvent(getOlatResourceable()));
+			allChats.remove(Integer.toString(hashCode()));
+			jsc.setRefreshIntervall(5000);
+		} else if (source == sendMessageForm) {
+			if(StringHelper.containsNonWhitespace(sendMessageForm.getMessage())) {
+				InstantMessage message = doSendMessage(sendMessageForm.getMessage());
+				appendToMessageHistory(message);
+				sendMessageForm.resetTextField();
+			} else {
+				//ignore empty manObjectessage entry and refocus on entry field
+				chatMsgFieldContent.contextPut("chatMessages", messageHistory.toString() + jsFocusCmd);
+			}
+		} else if (source == toggleAnonymousForm) {
+			//removeMeFromRosterList();
+			if (toggleAnonymousForm.isAnonymous()) {
+				//addMeToRosterList(NICKNAME_ANONYMOUS);
+			} else {
+				//addMeToRosterList(myFullName);
+			}
+		}
+	}
+	
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		//
+	}
+	
+	/**
+	 * Gets called if either a new message from one of the buddies happens
+	 * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event)
+	 */
+	public void event(Event event) {
+		if(event instanceof InstantMessagingEvent) {
+			processInstantMessageEvent((InstantMessagingEvent)event);
+		}
+	}
+	
+	private InstantMessage doSendMessage(String text) {
+		InstantMessage message = imService.sendMessage(getIdentity(), text, ores);
+		return message;
+	}
+	
+	private void processInstantMessageEvent(InstantMessagingEvent event) {
+		if ("message".equals(event.getCommand())) {
+			Long from = event.getFromId();
+			if(!getIdentity().getKey().equals(from)) {
+				Long messageId = event.getMessageId();
+				InstantMessage message = imService.getMessageById(messageId);
+				appendToMessageHistory(message);
+			}
+		} else if ("participant".equals(event.getCommand())) {
+			if (event.getFromId() != null) {
+				updateRosterList(event.getFromId(), event.getName(), event.isAnonym());
+			}
+		}
+	}
+	
+	/**
+	 * This method close the chat from extern
+	 */
+	protected void closeChat() {
+		allChats.remove(Integer.toString(hashCode()));
+		chatPanelCtr.executeCloseCommand();
+	}
+
+	private void appendToMessageHistory(InstantMessage message) {
+		String uname = userManager.getUserDisplayName(message.getFrom().getUser());
+		String m = message.getBody().replaceAll("<br/>\n", "\r\n");
+		
+		StringBuilder sb = new StringBuilder();
+		sb.append("<div><span style=\"color:");
+		sb.append(colorize(message.getFrom()));
+		sb.append("\">[");
+		sb.append(formatter.formatTime(message.getCreationDate()));
+		sb.append("] ");
+		sb.append(uname);
+		sb.append(": </span>");
+		sb.append(prepareMsgBody(m.replaceAll("<", "&lt;").replaceAll(">", "&gt;")).replaceAll("\r\n", "<br/>\n"));
+		sb.append("</div>");
+		synchronized (messageHistory) {
+			messageHistory.append(sb);
+		}
+
+		StringBuilder fh = new StringBuilder(messageHistory);
+		fh.append(jsTweakCmd);
+		if (uname.equals(getIdentity().getName())) {
+			fh.append(jsFocusCmd);
+		}
+		chatMsgFieldContent.contextPut("chatMessages", fh.toString());
+		chatMsgFieldContent.contextPut("id", this.hashCode());
+	}
+	
+	private String prepareMsgBody(String body) {
+		List<String> done = new ArrayList<String>(3);
+		Matcher m = mailPattern.matcher(body);
+		while (m.find()) {
+			String l = m.group();
+			if (!done.contains(l)) {
+				body = body.replaceFirst(l, "<a href=\""+l+"\" target=\"_blank\">"+l+"</a>");
+			}
+			done.add(l);
+		}
+		return body;
+	}
+
+	private String colorize(Identity from) {
+		if (from.equals(getIdentity())) return "blue";
+		else if (from.equals("info@localhost")) return "green";
+		else return "red";
+	}
+
+	protected String getMessageHistory() {
+		synchronized (messageHistory) {
+			return messageHistory.toString();
+		}
+	}
+	
+	protected void setMessageHistory(String m) {
+		synchronized (messageHistory) {
+			messageHistory.insert(0, m);
+		}
+		chatMsgFieldContent.contextPut("chatMessages", messageHistory.toString());
+	}
+	
+	private void updateRosterList(Long identityKey, String name, boolean anonym) {
+		if(buddyList != null) {
+			RosterEntry entry;
+			if(buddyList.contains(identityKey)) {
+				entry = buddyList.get(identityKey);
+			} else {
+				Buddy buddy = imService.getBuddyById(identityKey);
+				entry = new RosterEntry(buddy);
+				buddyList.add(entry);
+			}
+			entry.setAnonym(anonym);
+			if(StringHelper.containsNonWhitespace(name)) {
+				entry.setName(name);
+			}
+		}
+	}
+	
+	private void updateRosterList() {
+		if(buddyList != null) {
+			List<Buddy> buddies = imService.getBuddiesListenTo(getOlatResourceable());
+			buddyList.addBuddies(buddies);
+		}
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java b/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java
new file mode 100644
index 0000000000000000000000000000000000000000..d30fdb016ef5d0383e885facbc7ef525deff7c98
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatManagerController.java
@@ -0,0 +1,159 @@
+/**
+* OLAT - Online Learning and Training<br>
+* http://www.olat.org
+* <p>
+* Licensed under the Apache License, Version 2.0 (the "License"); <br>
+* you may not use this file except in compliance with the License.<br>
+* You may obtain a copy of the License at
+* <p>
+* http://www.apache.org/licenses/LICENSE-2.0
+* <p>
+* Unless required by applicable law or agreed to in writing,<br>
+* software distributed under the License is distributed on an "AS IS" BASIS, <br>
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+* See the License for the specific language governing permissions and <br>
+* limitations under the License.
+* <p>
+* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+* University of Zurich, Switzerland.
+* <hr>
+* <a href="http://www.openolat.org">
+* OpenOLAT - Online Learning and Training</a><br>
+* This file has been modified by the OpenOLAT community. Changes are licensed
+* under the Apache 2.0 license as the original file.
+*/
+package org.olat.instantMessaging.ui;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.panel.Panel;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
+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.id.OLATResourceable;
+import org.olat.instantMessaging.CloseInstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.model.Buddy;
+
+/**
+ * Description:<br>
+ * ChatManagerController: Manages peer to peer chats
+ * 
+ * <P>
+ * Initial Date:  05.05.2008 <br>
+ * @author guido
+ */
+public class ChatManagerController extends BasicController {
+
+	private final VelocityContainer container;
+	private final Map<Long, ChatController> chats = new HashMap<Long, ChatController>();
+
+	private final InstantMessagingService imService;
+
+	public ChatManagerController(UserRequest ureq, WindowControl control) {
+		super(ureq, control);
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
+		
+		container = createVelocityContainer("chats");
+		container.contextPut("chats", chats);
+		putInitialPanel(container);
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		//no events
+	}
+
+	@Override
+	public void event(UserRequest ureq, Controller source, Event event) {
+		if (source instanceof ChatController) {
+			if(event instanceof CloseInstantMessagingEvent) {
+				CloseInstantMessagingEvent close = (CloseInstantMessagingEvent)event;
+				
+				Long chatId = close.getChatId();
+				chats.remove(chatId);
+				Component c = container.getComponent(chatId.toString());
+				container.remove(c);
+				
+				ChatController chatCtr = (ChatController)source;
+				imService.unlistenChat(chatCtr.getOlatResourceable(), chatCtr);
+			}
+			//forward event also to main controller
+			fireEvent(ureq, event);
+		}
+	}
+
+	/**
+	 * @see org.olat.core.gui.control.DefaultController#doDispose()
+	 */
+	@Override
+	protected void doDispose() {
+		chats.clear();
+	}
+	
+	/**
+	 * Close the chats windows
+	 */
+	protected void closeAllChats() {
+		List<Long> chatKeys = new ArrayList<Long>(chats.keySet());
+		for(Long chatKey :chatKeys) {
+			Component p = container.getComponent(chatKey.toString());
+			if(p != null) {
+				container.remove(p);
+			}
+			ChatController ctrl = chats.get(chatKey);
+			if(ctrl != null) {
+				ctrl.closeChat();
+			}
+		}
+		chats.clear();
+	}
+
+	public void createChat(UserRequest ureq, Buddy buddy, int offsetX, int offsetY) {
+		if (buddy == null || chats.containsKey(buddy.getIdentityKey())) {
+			return; // chat  with this person is already ongoing
+		}
+		
+		ChatController chat = new ChatController(ureq, getWindowControl(), buddy, offsetX, offsetY);
+		listenTo(chat);
+
+		Panel p = new Panel("chatholder");
+		p.setContent(chat.getInitialComponent());
+		container.put(buddy.getIdentityKey().toString(), p);
+		chats.put(buddy.getIdentityKey(), chat);
+	}
+
+	public void createChat(UserRequest ureq, Long identityKey) {
+		Buddy buddy = imService.getBuddyById(identityKey);
+		createChat(ureq, buddy);
+	}
+	
+	public void createChat(UserRequest ureq, Buddy buddy) {
+		createChat(ureq, buddy, 100 + (chats.size() * 10), 100 + (chats.size() * 5));
+	}
+	
+	public void createGroupChat(UserRequest ureq, OLATResourceable ores) {
+		ChatController groupchat = new ChatController(ureq, getWindowControl(), ores, 100, 120);
+		listenTo(groupchat);
+		
+		container.put(ores.getResourceableId().toString(), groupchat.getInitialComponent());
+		chats.put(ores.getResourceableId(), groupchat);
+	}
+
+	/**
+	 * check whether already a chat is running for this buddy
+	 * @param jabberId
+	 * @return
+	 */
+	public boolean hasRunningChat(Long chatId) {
+		return chats.containsKey(chatId);
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatToolController.java b/src/main/java/org/olat/instantMessaging/ui/ChatToolController.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e1b2142cdbc1920286de3a060eb745c1633a88f
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatToolController.java
@@ -0,0 +1,67 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+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.id.OLATResourceable;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.OpenInstantMessageEvent;
+
+/**
+ * 
+ * Initial date: 06.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ */
+public class ChatToolController extends BasicController {
+	
+	private final VelocityContainer mainVC;
+	private final OLATResourceable resource;
+	private final Link openChatLink;
+
+	public ChatToolController(UserRequest ureq, WindowControl wControl, OLATResourceable resource) {
+		super(ureq, wControl);
+		this.resource = resource;
+		
+		mainVC = createVelocityContainer("summary");
+		mainVC.contextPut("isInAssessment", Boolean.FALSE);
+		openChatLink = LinkFactory.createButton("openChat", mainVC, this);
+		putInitialPanel(mainVC);
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		if(openChatLink == source) {
+			OpenInstantMessageEvent e = new OpenInstantMessageEvent(ureq, resource);
+			ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
+		}
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/ui/ConnectedClientsListController.java b/src/main/java/org/olat/instantMessaging/ui/ConnectedClientsListController.java
deleted file mode 100644
index 853e38c9fac336c84df3bd76769bee2d4cd7e824..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/ConnectedClientsListController.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.olat.core.gui.UserRequest;
-import org.olat.core.gui.components.Component;
-import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
-import org.olat.core.gui.components.link.Link;
-import org.olat.core.gui.components.link.LinkFactory;
-import org.olat.core.gui.components.table.TableController;
-import org.olat.core.gui.components.table.TableEvent;
-import org.olat.core.gui.components.table.TableGuiConfiguration;
-import org.olat.core.gui.components.velocity.VelocityContainer;
-import org.olat.core.gui.control.Controller;
-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.util.Formatter;
-import org.olat.core.util.event.EventBus;
-import org.olat.core.util.event.MultiUserEvent;
-import org.olat.core.util.resource.OresHelper;
-import org.olat.instantMessaging.InstantMessaging;
-import org.olat.instantMessaging.InstantMessagingClient;
-import org.olat.instantMessaging.InstantMessagingConstants;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.rosterandchat.ChatManagerController;
-
-/**
- * Controller for a user list, where all users are shown together with real name
- * and last status message. What is visible or not is controlled by the users
- * preferences settings.<br />
- * 
- * @author Guido Schnider
- *         Initial Date: 15.08.2004 <br />
- */
-
-public class ConnectedClientsListController extends BasicController {
-	private VelocityContainer content = createVelocityContainer("connectedclientslist");
-	private Link refreshButton;
-	private Locale locale;
-	private Formatter f;
-	private Map<String, String> lastActivity = new HashMap<String, String>();
-	private List<ConnectedUsersListEntry> entries = new ArrayList<ConnectedUsersListEntry>();
-
-	private TableController tableCtr;
-	private ConnectedUsersTableModel tableModel;
-	private ChatManagerController chatMgrCtrl;
-	private InstantMessaging im = InstantMessagingModule.getAdapter();
-
-	private List allChats;
-	private EventBus singleUserEventCenter;
-	
-	/**
-	 * 
-	 * @param ureq
-	 * @param wControl
-	 */
-	public ConnectedClientsListController(UserRequest ureq, WindowControl wControl) {
-		super(ureq, wControl);
-		//this controller gets rendered in a new window, we have to make sure polling works also in this window
-		JSAndCSSComponent jsComp = new JSAndCSSComponent("pollintervall", this.getClass(), null, null, false, null, InstantMessagingModule.getIDLE_POLLTIME());
-		content.put("polling", jsComp);
-		locale = ureq.getLocale();
-		f = Formatter.getInstance(locale);
-		refreshButton = LinkFactory.createButtonSmall("command.refresh", content, this);
-		updateUI(ureq, true);
-		chatMgrCtrl = new ChatManagerController(ureq, wControl);
-		content.put("chats", chatMgrCtrl.getInitialComponent());
-		listenTo(chatMgrCtrl);
-		
-		this.singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
-		allChats = (List) ureq.getUserSession().getEntry("chats");
-		if (allChats == null) {
-			allChats = new ArrayList();
-			ureq.getUserSession().putEntry("chats", allChats);
-		}
-		allChats.add(Integer.toString(hashCode()));
-		singleUserEventCenter.fireEventToListenersOf(new MultiUserEvent("ChatWindowOpened"), OresHelper.createOLATResourceableType(InstantMessaging.class));
-
-		putInitialPanel(content);
-	}
-
-	/**
-	 * rebuild the user list with the latest entries
-	 */
-	private void updateUI(UserRequest ureq, boolean init) {
-		if (init) {
-			TableGuiConfiguration tableConfig = new TableGuiConfiguration();
-			removeAsListenerAndDispose(tableCtr);
-			tableCtr = new TableController(tableConfig, ureq, getWindowControl(), getTranslator());
-			listenTo(tableCtr);
-			tableModel = new ConnectedUsersTableModel(getTranslator(), InstantMessagingModule.isEnabled());
-			tableModel.addColumnDescriptors(tableCtr);
-			tableCtr.setTableDataModel(tableModel);
-			tableCtr.setSortColumn(1, true);
-			content.put("usertable", tableCtr.getInitialComponent());
-		}
-
-		entries.clear();
-		int invisibleUsers = 0;
-		List<ConnectedUsersListEntry> l = im.getAllConnectedUsers(ureq.getIdentity());
-		
-		if (l == null) {
-			content.contextPut("invisibleUsers", 0);
-			return;
-		}
-		
-		List<ConnectedUsersListEntry> m = new ArrayList<ConnectedUsersListEntry>();
-		for (Iterator<ConnectedUsersListEntry> it = l.iterator(); it.hasNext();) {
-			ConnectedUsersListEntry entry = it.next();
-			if (!entry.isVisible()){ 
-				invisibleUsers++;
-			} else {
-				m.add(entry);
-			}
-		}
-		tableModel.setEntries(m);
-		tableCtr.modelChanged();
-		//TODO:gs TODO get invisible users by looping in GUI
-		content.contextPut("invisibleUsers", invisibleUsers);
-		content.contextPut("havelist", Boolean.TRUE);
-		
-	}
-
-	/**
-	 * translate the default status messages for the list of logged in users
-	 * @param statusMsg
-	 * @return
-	 */
-	private String translatedDefautStatusMsg(String statusMsg) {
-		if(statusMsg.equals(InstantMessagingConstants.PRESENCE_MODE_AVAILABLE)) {
-			return translate("presence.available");
-		} else if(statusMsg.equals(InstantMessagingConstants.PRESENCE_MODE_CHAT)) {
-			return translate("presence.chat");
-		} else if(statusMsg.equals(InstantMessagingConstants.PRESENCE_MODE_AWAY)) {
-			return translate("presence.away");
-		} else if(statusMsg.equals(InstantMessagingConstants.PRESENCE_MODE_XAWAY)) {
-			return translate("presence.xa");
-		} else if(statusMsg.equals(InstantMessagingConstants.PRESENCE_MODE_DND)) {
-			return translate("presence.dnd");
-		}
-		return statusMsg;
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
-	@Override
-	protected void event(UserRequest ureq, Controller source, Event event) {
-		if (source == tableCtr) {
-			InstantMessagingClient client = im.getClientManager().getInstantMessagingClient(ureq.getIdentity().getName());
-			boolean chattingAllowed = false;
-			if (client != null && !client.isChatDisabled()) chattingAllowed = true;
-			
-			if (chattingAllowed) {
-				TableEvent te = (TableEvent) event;
-				int row = te.getRowId();
-				ConnectedUsersListEntry entry = tableModel.getEntryAt(row);
-				chatMgrCtrl.createChat(ureq, getWindowControl(), entry.getJabberId());
-			} else {
-				showInfo("im.chat.forbidden");
-			}
-		}
-	}
-	
-	
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
-	public void event(UserRequest ureq, Component source, Event event) {
-		if (event.getCommand().equals("close")) {
-			doDispose();
-			return;
-		}
-		if (source == refreshButton) {
-			updateUI(ureq, false);
-		}
-	}
-
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
-	 */
-	protected void doDispose() {
-		allChats.remove(Integer.toString(hashCode()));
-		singleUserEventCenter.fireEventToListenersOf(new MultiUserEvent("ChatWindowClosed"), OresHelper.createOLATResourceableType(InstantMessaging.class));
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersListEntry.java b/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersListEntry.java
deleted file mode 100644
index 19ab607a54b1fda067ddcabd124bbb6bb352ac6f..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersListEntry.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging.ui;
-
-import java.io.Serializable;
-import java.util.Date;
-
-import org.olat.core.util.Formatter;
-import org.olat.core.util.i18n.I18nManager;
-
-public class ConnectedUsersListEntry implements Serializable{
-	private static final String NOT_VISIBLE = "---";
-	private final String username;
-	private String name;
-	private String prename;
-	private String instantMessagingStatus;
-	private boolean showAwarenessMessage = false;
-	private String awarenessMessage;
-	private boolean showOnlineTime = false;
-	private String onlineTime;
-	private String lastActivity;
-	private String jabberId;
-	private String resource;
-	private boolean isVisible;
-	private Formatter formatter;
-	
-	public ConnectedUsersListEntry(String username, String locale) {
-		this.username = username;
-		this.formatter = Formatter.getInstance(I18nManager.getInstance().getLocaleOrDefault(locale));
-	}
-
-	/**
-	 * @return Returns the awarenessMessage.
-	 */
-	protected String getAwarenessMessage() {
-		if(isShowAwarenessMessage())
-			return awarenessMessage;
-		else
-			return NOT_VISIBLE;
-	}
-
-	/**
-	 * @param awarenessMessage The awarenessMessage to set.
-	 */
-	public void setAwarenessMessage(String awarenessMessage) {
-		this.awarenessMessage = awarenessMessage;
-	}
-
-	/**
-	 * @return Returns the instantMessagingStatus.
-	 */
-	protected String getInstantMessagingStatus() {
-		return instantMessagingStatus;
-	}
-
-	/**
-	 * @param instantMessagingStatus The instantMessagingStatus to set.
-	 */
-	public void setInstantMessagingStatus(String instantMessagingStatus) {
-		this.instantMessagingStatus = instantMessagingStatus;
-	}
-
-	/**
-	 * @return Returns the lastActivity.
-	 */
-	protected String getLastActivity() {
-		if(isShowOnlineTime())
-			return formatter.formatTimeShort(new Date(Long.valueOf(lastActivity).longValue()));
-		else
-			return NOT_VISIBLE; 
-	}
-
-	/**
-	 * @param lastActivity The lastActivity to set.
-	 */
-	public void setLastActivity(long lastActivity) {
-		this.lastActivity = Long.valueOf(lastActivity).toString();
-	}
-
-	/**
-	 * @return Returns the name.
-	 */
-	protected String getName() {
-		return name;
-	}
-
-	/**
-	 * @return Returns the onlineTime.
-	 */
-	protected String getOnlineTime() {
-		if(isShowOnlineTime())
-			return onlineTime;
-		else
-			return NOT_VISIBLE;
-	}
-
-	/**
-	 * 
-	 * @param logonTime
-	 * set it to the time the when the used logged in in milliseconds since epoc
-	 * the method calculates the time in minutes the user is online
-	 */
-	public void setOnlineTime(long logonTime) {
-		long diff = System.currentTimeMillis() - logonTime;
-		this.onlineTime = new Integer((int) diff / 1000 / 60).toString();
-	}
-	
-	/**
-	 * 
-	 * @param logonTime
-	 * set the already calculated online time in minutes
-	 */
-	public void setOnlineTime(String logonTime) {
-		this.onlineTime = logonTime;
-	}
-
-	/**
-	 * @return Returns the prename.
-	 */
-	protected String getPrename() {
-		return prename;
-	}
-
-	/**
-	 * @return Returns the username.
-	 */
-	//fxdiff -> baks
-	public String getUsername() {
-		return username;
-	}
-
-	/**
-	 * @param name The name to set.
-	 */
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	/**
-	 * @param prename The prename to set.
-	 */
-	public void setPrename(String prename) {
-		this.prename = prename;
-	}
-
-	/**
-	 * @return Returns the showAwarenessMessage.
-	 */
-	protected boolean isShowAwarenessMessage() {
-		return showAwarenessMessage;
-	}
-
-	/**
-	 * @param showAwarenessMessage The showAwarenessMessage to set.
-	 */
-	public void setShowAwarenessMessage(boolean showAwarenessMessage) {
-		this.showAwarenessMessage = showAwarenessMessage;
-	}
-
-	/**
-	 * @return Returns the showOnlineTime.
-	 */
-	protected boolean isShowOnlineTime() {
-		return showOnlineTime;
-	}
-
-	/**
-	 * @param showOnlineTime The showOnlineTime to set.
-	 */
-	public void setShowOnlineTime(boolean showOnlineTime) {
-		this.showOnlineTime = showOnlineTime;
-	}
-
-	/**
-	 * @return Returns the jabberId.
-	 * fxdiff: public
-	 */
-	public String getJabberId() {
-		return jabberId;
-	}
-
-	/**
-	 * @param jabberId The jabberId to set.
-	 */
-	public void setJabberId(String jabberId) {
-		this.jabberId = jabberId;
-	}
-
-	public String getResource() {
-		return this.resource;
-	}
-
-	public void setResource(String resource) {
-		this.resource = resource;
-	}
-
-	public void setVisibleToOthers(boolean visibleToOthers) {
-		this.isVisible = visibleToOthers;
-	}
-
-	public boolean isVisible() {
-		return isVisible;
-	}
-}
diff --git a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersLocal.java b/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersLocal.java
deleted file mode 100644
index 09efdcd31f46c3ef6e11e507d177589a5721852d..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersLocal.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.CoreSpringFactory;
-import org.olat.core.id.Identity;
-import org.olat.core.id.UserConstants;
-import org.olat.core.logging.AssertException;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.core.util.UserSession;
-import org.olat.core.util.cache.n.CacheWrapper;
-import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.core.util.session.UserSessionManager;
-import org.olat.instantMessaging.ClientHelper;
-import org.olat.instantMessaging.ImPreferences;
-import org.olat.instantMessaging.ImPrefsManager;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.syncservice.InstantMessagingSessionItems;
-
-/**
- * Description:<br>
- * TODO: guido Class Description for ConnectedUsersLocal
- * 
- * <P>
- * Initial Date:  06.08.2008 <br>
- * @author guido
- */
-public class ConnectedUsersLocal implements InstantMessagingSessionItems {
-	
-	private static final OLog log = Tracing.createLoggerFor(ConnectedUsersLocal.class);
-	private CacheWrapper sessionItemsCache;
-	private ImPrefsManager imPrefsManager;
-	
-	public ConnectedUsersLocal(ImPrefsManager imPrefsManager) {
-		this.imPrefsManager = imPrefsManager;
-	}
-
-	/**
-	 * @see org.olat.instantMessaging.AllOnlineUsers#getConnectedUsers()
-	 */
-	public List<ConnectedUsersListEntry> getConnectedUsers(Identity currentUser) {
-		String username;
-		if (currentUser != null) {
-			username = currentUser.getName();
-		}else {
-			username = "";
-		}
-		/**
-		 * create a cache for the entries as looping over a few hundred entries need too much time.
-		 * Every node has its own cache and therefore no need to inform each other
-		 * o_clusterOK by guido
-		 */
-		if (sessionItemsCache == null) {
-			synchronized (this) {
-				sessionItemsCache = CoordinatorManager.getInstance().getCoordinator().getCacher().getOrCreateCache(this.getClass(), "items");
-			}
-		}
-		
-		UserSessionManager sessionManager = CoreSpringFactory.getImpl(UserSessionManager.class);
-		
-		List<ConnectedUsersListEntry> entries = new ArrayList<ConnectedUsersListEntry>();
-		Map<String, Long> lastActivity = new HashMap<String, Long>();
-		Set<String> usernames = InstantMessagingModule.getAdapter().getUsernamesFromConnectedUsers();
-		Set<UserSession> authSessions = sessionManager.getAuthenticatedUserSessions();
-		for (Iterator<UserSession> iter = authSessions.iterator(); iter.hasNext();) {
-			UserSession userSession = iter.next();
-			long lastAccTime = 0;
-			try {
-				lastAccTime = userSession.getSessionInfo().getSession().getLastAccessedTime();
-				lastActivity.put(userSession.getIdentity().getName(), Long.valueOf(lastAccTime));
-			} catch (RuntimeException e) {
-				//getAuthenticatedUserSessions delivers sessions that are sometimes already invalid.
-				log.warn("Tried to get LastAccessTime from session that became in the meantime invalid", null);
-			}
-
-		}
-		
-		for (Iterator<String> iter = usernames.iterator(); iter.hasNext();) {
-			String olatusername = iter.next();
-			
-			ConnectedUsersListEntry entry = (ConnectedUsersListEntry)sessionItemsCache.get(olatusername);
-			if (entry != null && !olatusername.equals(username)) {
-				entry.setLastActivity(lastActivity.get(olatusername));
-				entries.add(entry);
-				if (log.isDebug()) log.debug("loading item from cache: "+olatusername);
-			
-			} else {
-				//item not in cache
-				if (sessionManager.isSignedOnIdentity(olatusername)) {
-					Identity identity = (Identity)BaseSecurityManager.getInstance().findIdentityByName(olatusername);
-					try {
-						ImPreferences imPrefs = imPrefsManager.loadOrCreatePropertiesFor(identity);
-						if ( (imPrefs != null) ) {
-							ClientHelper clientHelper = new ClientHelper(olatusername, null, null, null);
-							entry = new ConnectedUsersListEntry(olatusername, identity.getUser().getPreferences().getLanguage());
-							entry.setName(identity.getUser().getProperty(UserConstants.LASTNAME, null));
-							entry.setPrename(identity.getUser().getProperty(UserConstants.FIRSTNAME, null));
-							entry.setShowAwarenessMessage(imPrefs.isAwarenessVisible());
-							entry.setShowOnlineTime(imPrefs.isOnlineTimeVisible());
-							entry.setAwarenessMessage(clientHelper.getStatusMsg());
-							entry.setInstantMessagingStatus(clientHelper.getStatus());
-							entry.setLastActivity(lastActivity.get(olatusername));
-							entry.setOnlineTime(clientHelper.getOnlineTime());
-							entry.setJabberId(clientHelper.getJid());
-							entry.setVisibleToOthers(imPrefs.isVisibleToOthers());
-							entries.add(entry);
-							
-							//put in cache
-							sessionItemsCache.put(olatusername, entry);
-						} 
-					} catch (AssertException ex) {
-						log.warn("Can not load IM-Prefs for identity=" + identity, ex);
-					}
-				}
-			}
-		}//end loop
-		return entries;
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersTableModel.java b/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersTableModel.java
deleted file mode 100644
index 343c2cfe1e10ff67fe082d986e199462a855a8eb..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/ConnectedUsersTableModel.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/ 
-
-package org.olat.instantMessaging.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.olat.core.gui.components.table.BaseTableDataModelWithoutFilter;
-import org.olat.core.gui.components.table.ColumnDescriptor;
-import org.olat.core.gui.components.table.CustomCssCellRenderer;
-import org.olat.core.gui.components.table.CustomRenderColumnDescriptor;
-import org.olat.core.gui.components.table.DefaultColumnDescriptor;
-import org.olat.core.gui.components.table.TableController;
-import org.olat.core.gui.components.table.TableDataModel;
-import org.olat.core.gui.translator.Translator;
-
-/**
- * Description: Table model for the connected users list
- * @author guido
- * 
- */
-public class ConnectedUsersTableModel extends BaseTableDataModelWithoutFilter implements TableDataModel {
-	/**
-	 * Identifies a table launch event (if clicked on an item in the name, prename or username column).
-	 */
-	public static final String TABLE_ACTION_LAUNCH_CLIENT = "startClient";
-	private static final int COLUMN_COUNT = 8;
-	private List entries = new ArrayList();
-	protected Translator translator;
-	private boolean chatEnabled;
-	
-	/**
-	 * Default constructor.
-	 * @param translator
-	 */
-	public ConnectedUsersTableModel(Translator translator, boolean chatEnabled) {
-		this.translator = translator;
-		this.chatEnabled = chatEnabled;
-	}
-	
-	/**
-	 * class for rendering an icon inside a table cell 
-	 */
-	private class IMStatusIconRenderer extends CustomCssCellRenderer {
-		
-		protected String getHoverText(Object val) {
-			String altText = translator.translate("presence."+val.toString());
-			return  "Instant Messaging: "+altText;
-		}
-		
-		protected String getCellValue(Object val) {
-			return "";
-		}
-
-		protected String getCssClass(Object val) {
-			// use small icon and create icon class for im status, e.g: o_instantmessaging_available_icon
-			return "b_small_icon " + "o_instantmessaging_" + ((String) val).replace(".", "-") + "_icon";
-		}
-	}
-
-
-	/**
-	 * @param tableCtr
-	 * @param selectButtonLabel Label of action row or null if no action row should be used
-	 * @param enableDirectLaunch
-	 */
-	public void addColumnDescriptors(TableController tableCtr) {
-		if (chatEnabled) {
-			tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.username", 0, TABLE_ACTION_LAUNCH_CLIENT, translator.getLocale()));
-		} else {
-			tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.username", 0, null, translator.getLocale()));
-		}
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.prename", 1, null, translator.getLocale()));
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.name", 2, null, translator.getLocale()));
-		tableCtr.addColumnDescriptor(new CustomRenderColumnDescriptor("table.header.IMstatus", 3, null, 
-				translator.getLocale(), ColumnDescriptor.ALIGNMENT_LEFT, new IMStatusIconRenderer()));
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.resource", 4, null, translator.getLocale()));
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.awareness", 5, null, translator.getLocale()));
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.onlineTime", 6, null, translator.getLocale()));
-		tableCtr.addColumnDescriptor(new DefaultColumnDescriptor("table.header.lastActivity", 7, null, translator.getLocale()));
-	}
-
-	/**
-	 * Set entries to be represented by this table model.
-	 * @param entries
-	 */
-	public void setEntries(List entries) {
-		this.entries = entries;
-	}
-	
-	/**
-	 * @see org.olat.core.gui.components.table.TableDataModel#getColumnCount()
-	 */
-	public int getColumnCount() {
-		return COLUMN_COUNT;
-	}
-
-	/**
-	 * @see org.olat.core.gui.components.table.TableDataModel#getRowCount()
-	 */
-	public int getRowCount() {
-		return entries.size();
-	}
-	
-	ConnectedUsersListEntry getEntryAt(int num){
-		return (ConnectedUsersListEntry)this.entries.get(num);
-	}
-
-	/**
-	 * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int)
-	 */
-	public Object getValueAt(int row, int col) {
-		ConnectedUsersListEntry entry = getEntryAt(row);
-		switch (col) {
-			case 0: return entry.getUsername();
-			case 1: return entry.getPrename();
-			case 2: return entry.getName();
-			case 3: return entry.getInstantMessagingStatus();
-			case 4: return entry.getResource();
-			case 5: return entry.getAwarenessMessage();
-			case 6: return entry.getOnlineTime();
-			case 7: return entry.getLastActivity();
-			
-			default: return "ERROR";
-		}
-	}
-
-}
diff --git a/src/main/java/org/olat/instantMessaging/ui/IMBuddyListController.java b/src/main/java/org/olat/instantMessaging/ui/IMBuddyListController.java
new file mode 100644
index 0000000000000000000000000000000000000000..16f45d005b41435b7dad198e076c82bcae0ee296
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/IMBuddyListController.java
@@ -0,0 +1,125 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+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.util.WebappHelper;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.OpenInstantMessageEvent;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class IMBuddyListController extends BasicController {
+	
+	private final Link toggleOffline, toggleGroups; 
+	private final VelocityContainer buddiesList;
+	private final VelocityContainer buddiesListContent;
+
+	private int toggleOfflineMode;
+	private int toggleGroupsMode;
+	private Roster buddyList;
+	private final InstantMessagingService imService;
+	
+	public IMBuddyListController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl);
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
+		
+		buddiesList = createVelocityContainer("buddies");
+		buddiesListContent = createVelocityContainer("buddies_content");
+		
+		toggleOffline = LinkFactory.createCustomLink("toggleOffline", "cmd.offline", "", Link.NONTRANSLATED, buddiesList, this);
+		toggleOffline.setCustomDisplayText(getTranslator().translate("im.show.offline.buddies"));
+		toggleOffline.setCustomEnabledLinkCSS("o_instantmessaging_showofflineswitch");
+		
+		toggleGroups = LinkFactory.createCustomLink("toggleGroups", "cmd.groups", "", Link.NONTRANSLATED, buddiesList, this);
+		toggleGroups.setCustomDisplayText(getTranslator().translate("im.show.groups"));
+		toggleGroups.setCustomEnabledLinkCSS("o_instantmessaging_showgroupswitch");
+		
+		buddiesList.contextPut("contextpath", WebappHelper.getServletContextPath());
+		buddiesList.contextPut("lang", ureq.getLocale().toString());
+		
+		buddyList = new Roster();
+		buddyList.addBuddies(imService.getBuddies(getIdentity()));
+		buddiesList.contextPut("buddyList", buddyList);
+		buddiesListContent.contextPut("buddyList", buddyList);
+		for(RosterEntry buddy:buddyList.getEntries()) {
+			Link buddyLink = LinkFactory.createCustomLink("buddy_" + buddy.getIdentityKey(), "cmd.buddy", "", Link.NONTRANSLATED, buddiesListContent, this);
+			buddyLink.setCustomDisplayText(buddy.getName());
+			buddyLink.setCustomEnabledLinkCSS(getStatusCss(buddy.getStatus()));
+			buddyLink.setUserObject(buddy);
+		}
+		buddiesList.put("buddiesListContent", buddiesListContent);
+		
+		putInitialPanel(buddiesList);
+	}
+	
+	private String getStatusCss(String status) {
+		return "o_instantmessaging_" + status + "_icon";
+	}
+
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {	
+		//buddies list
+		if (source == toggleOffline) {
+			if (toggleOfflineMode == 0) {
+				toggleOffline.setCustomDisplayText(translate("im.hide.offline.buddies"));
+				toggleOfflineMode = 1;
+			} else {
+				toggleOffline.setCustomDisplayText(translate("im.show.offline.buddies"));
+				toggleOfflineMode = 0;
+			}
+			buddiesListContent.setDirty(true);
+			
+		} else if (source == toggleGroups) {
+			if (toggleGroupsMode == 0) {
+				toggleGroups.setCustomDisplayText(translate("im.hide.groups"));
+				toggleGroupsMode = 1;
+			} else {
+				toggleGroups.setCustomDisplayText(translate("im.show.groups"));
+				toggleGroupsMode = 0;
+			}
+			buddiesListContent.setDirty(true);
+			
+		} else if (source instanceof Link) {
+			Link link = (Link)source;
+			if("cmd.buddy".equals(link.getCommand())) {
+				RosterEntry buddy = (RosterEntry)link.getUserObject();
+				fireEvent(ureq, new OpenInstantMessageEvent(ureq, buddy));
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChangeIMSettingsController.java b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
similarity index 55%
rename from src/main/java/org/olat/instantMessaging/ui/ChangeIMSettingsController.java
rename to src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
index 116256c08a7406f949b6a9fa1fb530e3bee62898..deb7c7f021555c9da53a501059e450b7f2868411 100644
--- a/src/main/java/org/olat/instantMessaging/ui/ChangeIMSettingsController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceController.java
@@ -26,9 +26,7 @@
 
 package org.olat.instantMessaging.ui;
 
-import org.olat.basesecurity.Authentication;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.commons.persistence.DBFactory;
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.velocity.VelocityContainer;
@@ -37,11 +35,8 @@ 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.id.Identity;
-import org.olat.instantMessaging.ClientManager;
 import org.olat.instantMessaging.ImPreferences;
-import org.olat.instantMessaging.ImPrefsManager;
-import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.user.UserManager;
+import org.olat.instantMessaging.InstantMessagingService;
 
 /**
  * Initial Date:  August 08, 2005
@@ -49,15 +44,15 @@ import org.olat.user.UserManager;
  * @author Alexander Schneider
  */
 
-public class ChangeIMSettingsController extends BasicController {
+public class IMPreferenceController extends BasicController {
 	private VelocityContainer myContent;
 	
 	private Identity changeableIdentity;
 	
-	private OnlineListForm onlineListForm;
-	private RosterForm rosterForm;
+	private IMPreferencesOnlineController onlineListForm;
+	private IMPreferenceRosterController rosterForm;
 	
-	private ImPrefsManager ipm;
+	private final InstantMessagingService imService;
 	
 	/**
 	 * Constructor for the change instant messaging controller
@@ -65,35 +60,25 @@ public class ChangeIMSettingsController extends BasicController {
 	 * @param wControl The current window controller
 	 * @param changeableIdentity
 	 */
-	public ChangeIMSettingsController(UserRequest ureq, WindowControl wControl, Identity changeableIdentity) {
+	public IMPreferenceController(UserRequest ureq, WindowControl wControl, Identity changeableIdentity) {
 		super(ureq, wControl);
 		
 		this.changeableIdentity = changeableIdentity;
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
 
 		myContent = createVelocityContainer("imsettings");
 		
-		ipm = ImPrefsManager.getInstance();
-		ImPreferences imPrefs = ipm.loadOrCreatePropertiesFor(changeableIdentity);
 		
-		onlineListForm = new OnlineListForm(ureq, wControl, imPrefs);
+		ImPreferences imPrefs = imService.getImPreferences(changeableIdentity);
+		
+		onlineListForm = new IMPreferencesOnlineController(ureq, wControl, imPrefs);
 		listenTo(onlineListForm);
 		myContent.put("onlinelistform", onlineListForm.getInitialComponent());
 		
-		rosterForm = new RosterForm(ureq, wControl, imPrefs);
+		rosterForm = new IMPreferenceRosterController(ureq, wControl, imPrefs);
 		listenTo(rosterForm);
 		myContent.put("rosterform", rosterForm.getInitialComponent());
-		//fxdiff: hide external server info. see FXOLAT-46
-		myContent.contextPut("hideExternalClientInfo", InstantMessagingModule.getAdapter().getConfig().isHideExternalClientInfo());
-		
-		myContent.contextPut("chatusername", InstantMessagingModule.getAdapter().getUserJid(changeableIdentity.getName()));
-		Authentication auth = BaseSecurityManager.getInstance().findAuthentication(changeableIdentity, ClientManager.PROVIDER_INSTANT_MESSAGING);
-		if (auth == null) {
-			// somehow this is a messed up user. happens sometimes with the default users when IM server is not running at first startup
-			logError("Could not find authentication for identity::" + changeableIdentity.getName() + " and provider::" + ClientManager.PROVIDER_INSTANT_MESSAGING + "; Please fix this users Instant Messaging password manually", null);
-		} else {
-			myContent.contextPut("password", auth.getCredential());
-		}
-		
+
 		putInitialPanel(myContent);
 	}
 
@@ -107,15 +92,7 @@ public class ChangeIMSettingsController extends BasicController {
 	public void event(UserRequest ureq, Controller source, Event event) {
 		if (source == onlineListForm) {
 			if (event == Event.DONE_EVENT) {
-			    
-			    changeableIdentity = (Identity)DBFactory.getInstance().loadObject(changeableIdentity);
-
-					ImPreferences imPrefs = ipm.loadOrCreatePropertiesFor(changeableIdentity);
-			    onlineListForm.updateImPreferencesFromFormData(imPrefs);
-			    ipm.updatePropertiesFor(changeableIdentity, imPrefs);
-			    
-			    UserManager um = UserManager.getInstance();
-			    um.updateUserFromIdentity(changeableIdentity);
+			  imService.updateImPreferences(changeableIdentity, true, true);
 			   
 				fireEvent(ureq, Event.DONE_EVENT);
 			} else if (event == Event.CANCELLED_EVENT) {
@@ -123,10 +100,8 @@ public class ChangeIMSettingsController extends BasicController {
 			} 
 		} else if (source == rosterForm) {
 			if (event == Event.DONE_EVENT) {
-					ImPreferences imPrefs = ipm.loadOrCreatePropertiesFor(changeableIdentity);
-			    rosterForm.updateImPreferencesFromFormData(imPrefs);
-			    ipm.updatePropertiesFor(changeableIdentity, imPrefs);
-			    fireEvent(ureq, Event.DONE_EVENT);
+			   imService.updateImPreferences(changeableIdentity, true, true); 
+			   fireEvent(ureq, Event.DONE_EVENT);
 			} else if (event == Event.CANCELLED_EVENT) {
 				// Form is cancelled
 				fireEvent(ureq, Event.CANCELLED_EVENT);
@@ -137,5 +112,4 @@ public class ChangeIMSettingsController extends BasicController {
 	protected void doDispose() {
 		//
 	}
-
 }
diff --git a/src/main/java/org/olat/instantMessaging/ui/RosterForm.java b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceRosterController.java
similarity index 81%
rename from src/main/java/org/olat/instantMessaging/ui/RosterForm.java
rename to src/main/java/org/olat/instantMessaging/ui/IMPreferenceRosterController.java
index 42efdcb7e6e0e043176475b445bfc0ba289e9db1..e71ca04b5caf52aa73e147231cd0273e122c6973 100644
--- a/src/main/java/org/olat/instantMessaging/ui/RosterForm.java
+++ b/src/main/java/org/olat/instantMessaging/ui/IMPreferenceRosterController.java
@@ -26,7 +26,6 @@
 
 package org.olat.instantMessaging.ui;
 
-import org.jivesoftware.smack.packet.Presence;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
@@ -36,6 +35,7 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.instantMessaging.ImPreferences;
+import org.olat.instantMessaging.model.Presence;
 
 /**
  *  Initial Date: August 08, 2005
@@ -43,31 +43,25 @@ import org.olat.instantMessaging.ImPreferences;
  *  
  *  Comment: Displays a list of radiobuttons with all instant messaging presence status. 
  */
-public class RosterForm extends FormBasicController {
+public class IMPreferenceRosterController extends FormBasicController {
     private static final String STATUSLIST = "statusList";
     private SingleSelection statusList;
     private String[] keys, values;
     private ImPreferences imPrefs;
     
-	public RosterForm(UserRequest ureq, WindowControl wControl, ImPreferences imPrefs) {
+	public IMPreferenceRosterController(UserRequest ureq, WindowControl wControl, ImPreferences imPrefs) {
 		super(ureq, wControl);
 		
 		this.imPrefs = imPrefs;
 	    
 		keys = new String[] {
-		        Presence.Mode.available.toString(),
-		        Presence.Mode.chat.toString(),
-		        Presence.Mode.away.toString(),
-		        Presence.Mode.xa.toString(),
-		        Presence.Mode.dnd.toString(),
-		        Presence.Type.unavailable.toString()
+		        Presence.Mode.available.name(),
+		        Presence.Mode.dnd.name(),
+		        Presence.Type.unavailable.name()
 		};
 		
 		values = new String[] {
 				    translate("presence.available"),
-		        translate("presence.chat"),
-		        translate("presence.away"),
-		        translate("presence.xa"),
 		        translate("presence.dnd"),
 		        translate("presence.unavailable")
 		};
@@ -75,11 +69,8 @@ public class RosterForm extends FormBasicController {
 		initForm (ureq);
 	}
 	
-	/**
-	 * @param imPrefs
-	 */
-	public void updateImPreferencesFromFormData(ImPreferences imPrefs){
-		imPrefs.setRosterDefaultStatus(statusList.getSelectedKey());
+	public String getRosterDefaultStatus() {
+		return statusList.getSelectedKey();
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/instantMessaging/ui/OnlineListForm.java b/src/main/java/org/olat/instantMessaging/ui/IMPreferencesOnlineController.java
similarity index 75%
rename from src/main/java/org/olat/instantMessaging/ui/OnlineListForm.java
rename to src/main/java/org/olat/instantMessaging/ui/IMPreferencesOnlineController.java
index d655acbc79bc6d87a28420c15d01187f825c0f5a..23816dedb985f5096b4e1c6ff4c4f3efd6c973af 100644
--- a/src/main/java/org/olat/instantMessaging/ui/OnlineListForm.java
+++ b/src/main/java/org/olat/instantMessaging/ui/IMPreferencesOnlineController.java
@@ -45,25 +45,26 @@ import org.olat.instantMessaging.ImPreferences;
  *  
  *  Comment: The user can select if his name is (in)visible on the online user list.
  */
-public class OnlineListForm extends FormBasicController {
-    private static final String ONLINELIST = "onlineList";
-    private static final String ONLINETIME = "onlineTime";
-    private static final String COURSENAME = "courseName";
+public class IMPreferencesOnlineController extends FormBasicController {
+	private static final String ONLINELIST = "onlineList";
+	private static final String ONLINETIME = "onlineTime";
     
-    private SelectionElement toogleVisibility, onlineTimeSwitch, courseNameSwitch;
+	private SelectionElement toogleVisibility, onlineTimeSwitch;
     
-    private ImPreferences imPrefs;
+	private final ImPreferences imPrefs;
     
-	public OnlineListForm(UserRequest ureq, WindowControl wControl, ImPreferences imPrefs) {
+	public IMPreferencesOnlineController(UserRequest ureq, WindowControl wControl, ImPreferences imPrefs) {
 		super(ureq, wControl);
 		this.imPrefs = imPrefs;
 		initForm (ureq);
 	}
 	
-	protected void updateImPreferencesFromFormData(ImPreferences imPrefs){
-			imPrefs.setVisibleToOthers(toogleVisibility.isSelected(0));
-			imPrefs.setOnlineTimeVisible(onlineTimeSwitch.isSelected(0));
-			imPrefs.setAwarenessVisible(courseNameSwitch.isSelected(0));
+	public boolean isVisibleToOthers() {
+		return toogleVisibility.isSelected(0);
+	}
+	
+	public boolean isOnlineTimeVisible() {
+		return onlineTimeSwitch.isSelected(0);
 	}
 	
 	@Override
@@ -79,7 +80,7 @@ public class OnlineListForm extends FormBasicController {
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		setFormTitle("title.onlinelist");
-		this.setFormContextHelp("org.olat.user","home-imsettings.html","help.hover.imsettings");
+		setFormContextHelp("org.olat.user","home-imsettings.html","help.hover.imsettings");
 		
 		toogleVisibility = uifactory.addCheckboxesVertical(ONLINELIST, "form.onlinelist", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
 		toogleVisibility.select("xx", imPrefs.isVisibleToOthers());
@@ -88,9 +89,6 @@ public class OnlineListForm extends FormBasicController {
 		onlineTimeSwitch = uifactory.addCheckboxesVertical(ONLINETIME, "form.onlinetime", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
 		onlineTimeSwitch.select("xx", imPrefs.isOnlineTimeVisible());
 		
-		courseNameSwitch = uifactory.addCheckboxesVertical(COURSENAME, "form.coursename", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
-		courseNameSwitch.select("xx", imPrefs.isAwarenessVisible());
-		
 		FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("button_layout", getTranslator());
 		formLayout.add(buttonLayout);
 		uifactory.addFormSubmitButton("save", buttonLayout);
@@ -101,7 +99,6 @@ public class OnlineListForm extends FormBasicController {
 
 	private void update () {
 		onlineTimeSwitch.setVisible(toogleVisibility.isSelected(0));
-		courseNameSwitch.setVisible(toogleVisibility.isSelected(0));
 	}
 	
 	@Override
diff --git a/src/main/java/org/olat/instantMessaging/ui/IMTopNavController.java b/src/main/java/org/olat/instantMessaging/ui/IMTopNavController.java
new file mode 100644
index 0000000000000000000000000000000000000000..40f926788726bb64d5362f1bb98a6e8532401349
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/IMTopNavController.java
@@ -0,0 +1,62 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.panel.Panel;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+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.util.event.GenericEventListener;
+
+public class IMTopNavController extends BasicController implements GenericEventListener {
+	
+	private final VelocityContainer mainVC;
+	
+	
+	public IMTopNavController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl);
+		
+		mainVC = createVelocityContainer("topnav");
+		
+		
+		
+		mainVC.put("rosterPanel", new Panel("rosterPanel"));
+		mainVC.put("statusPanel", new Panel("statusPanel"));
+		putInitialPanel(mainVC);
+	}
+	
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	public void event(Event event) {
+		//
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		//
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java b/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5be58419e3ce932015054e9bfff5502ce8c5faf
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java
@@ -0,0 +1,92 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+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.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.model.Presence;
+
+/**
+ * 
+ * Change the status
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class IMTopNavStatusController extends BasicController {
+	
+	private final Link available, unavailable, dnd;
+	private final VelocityContainer mainVC;
+	
+	private String status;
+	
+	private final InstantMessagingService imService;
+	
+	public IMTopNavStatusController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl);
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
+		
+		mainVC = createVelocityContainer("status_changer");
+		
+		available = LinkFactory.createLink("presence.available", mainVC, this);
+		available.setCustomEnabledLinkCSS("o_instantmessaging_available_icon");
+		dnd = LinkFactory.createLink("presence.dnd", mainVC, this);
+		dnd.setCustomEnabledLinkCSS("o_instantmessaging_dnd_icon");
+		unavailable = LinkFactory.createLink("presence.unavailable", mainVC, this);
+		unavailable.setCustomEnabledLinkCSS("o_instantmessaging_unavailable_icon");
+
+		putInitialPanel(mainVC);
+	}
+	
+	public String getSelectedStatus() {
+		return status;
+	}
+
+	@Override
+	protected void doDispose() {
+		//
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Component source, Event event) {
+		if (source == available) {
+			status = Presence.Mode.available.name();
+			imService.updateStatus(getIdentity(), status);
+			fireEvent(ureq, Event.CHANGED_EVENT);
+		} else if (source == dnd) {
+			status = Presence.Mode.dnd.name();
+			imService.updateStatus(getIdentity(), status);
+			fireEvent(ureq, Event.CHANGED_EVENT);
+		} else if (source == unavailable) {
+			status = Presence.Mode.unavailable.name();
+			imService.updateStatus(getIdentity(), status);
+			fireEvent(ureq, Event.CHANGED_EVENT);
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java
new file mode 100644
index 0000000000000000000000000000000000000000..47469e136bee856357144374f918d0e9b2e524a4
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingAdminController.java
@@ -0,0 +1,132 @@
+/**
+* OLAT - Online Learning and Training<br>
+* http://www.olat.org
+* <p>
+* Licensed under the Apache License, Version 2.0 (the "License"); <br>
+* you may not use this file except in compliance with the License.<br>
+* You may obtain a copy of the License at
+* <p>
+* http://www.apache.org/licenses/LICENSE-2.0
+* <p>
+* Unless required by applicable law or agreed to in writing,<br>
+* software distributed under the License is distributed on an "AS IS" BASIS, <br>
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+* See the License for the specific language governing permissions and <br>
+* limitations under the License.
+* <p>
+* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+* University of Zurich, Switzerland.
+* <hr>
+* <a href="http://www.openolat.org">
+* OpenOLAT - Online Learning and Training</a><br>
+* This file has been modified by the OpenOLAT community. Changes are licensed
+* under the Apache 2.0 license as the original file.
+*/
+
+package org.olat.instantMessaging.ui;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.form.flexible.FormItem;
+import org.olat.core.gui.components.form.flexible.FormItemContainer;
+import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
+import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
+import org.olat.core.gui.components.form.flexible.impl.FormEvent;
+import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.control.Controller;
+import org.olat.core.gui.control.WindowControl;
+import org.olat.instantMessaging.InstantMessagingModule;
+
+/**
+ *
+ * @author gnaegi <www.goodsolutions.ch>
+ * @author guido
+ * Initial Date:  Aug 2, 2006
+ * Description:
+ * Instant messaging server administration task within olat
+ * 
+ */
+public class InstantMessagingAdminController extends FormBasicController {
+
+	private MultipleSelectionElement imEnabledEl;
+	private MultipleSelectionElement imEnableGroupEl;
+	private MultipleSelectionElement imEnableCourseEl;
+	private MultipleSelectionElement imEnablePrivateEl;
+	private MultipleSelectionElement imEnableOnlineUsersEl;
+	private MultipleSelectionElement imEnableGroupPeersEl;
+	
+	private static String[] enabledKeys = new String[]{"on"};
+	
+	private final InstantMessagingModule imModule;
+
+	public InstantMessagingAdminController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl, "admin");
+		
+		imModule = CoreSpringFactory.getImpl(InstantMessagingModule.class);
+		
+		initForm(ureq);
+	}
+	
+	@Override
+	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
+		//enable all
+		FormLayoutContainer moduleFlc = FormLayoutContainer.createDefaultFormLayout("flc_module", getTranslator());
+		formLayout.add(moduleFlc);
+	
+		String[] enabledValues = new String[]{ translate("enabled") };
+		imEnabledEl = uifactory.addCheckboxesHorizontal("im.module.enabled", moduleFlc, enabledKeys, enabledValues, null);
+		imEnabledEl.select(enabledKeys[0], imModule.isEnabled());
+		imEnabledEl.addActionListener(listener, FormEvent.ONCHANGE);
+		
+		//options
+		FormLayoutContainer optionsFlc = FormLayoutContainer.createDefaultFormLayout("flc_options", getTranslator());
+		formLayout.add(optionsFlc);
+
+		imEnableGroupEl = uifactory.addCheckboxesHorizontal("im.module.enabled.group", optionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupEl.select(enabledKeys[0], imModule.isGroupEnabled());
+		imEnableGroupEl.addActionListener(listener, FormEvent.ONCHANGE);
+		
+		imEnableCourseEl = uifactory.addCheckboxesHorizontal("im.module.enabled.course", optionsFlc, enabledKeys, enabledValues, null);
+		imEnableCourseEl.select(enabledKeys[0], imModule.isCourseEnabled());
+		imEnableCourseEl.addActionListener(listener, FormEvent.ONCHANGE);
+		
+		imEnablePrivateEl = uifactory.addCheckboxesHorizontal("im.module.enabled.private", optionsFlc, enabledKeys, enabledValues, null);
+		imEnablePrivateEl.select(enabledKeys[0], imModule.isPrivateEnabled());
+		imEnablePrivateEl.addActionListener(listener, FormEvent.ONCHANGE);
+		
+		imEnableOnlineUsersEl = uifactory.addCheckboxesHorizontal("im.module.enabled.onlineusers", optionsFlc, enabledKeys, enabledValues, null);
+		imEnableOnlineUsersEl.select(enabledKeys[0], imModule.isOnlineUsersEnabled());
+		imEnableOnlineUsersEl.addActionListener(listener, FormEvent.ONCHANGE);
+		
+		imEnableGroupPeersEl = uifactory.addCheckboxesHorizontal("im.module.enabled.grouppeers", optionsFlc, enabledKeys, enabledValues, null);
+		imEnableGroupPeersEl.select(enabledKeys[0], imModule.isGroupPeersEnabled());
+		imEnableGroupPeersEl.addActionListener(listener, FormEvent.ONCHANGE);
+	}
+	
+	protected void doDispose() {
+		// nothing to dispose
+	}
+	
+	@Override
+	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
+		if(source == imEnabledEl) {
+			imModule.setEnabled(imEnabledEl.isSelected(0));
+		} else if(source == imEnableGroupEl) {
+			imModule.setGroupEnabled(imEnableGroupEl.isSelected(0));
+		} else if(source == imEnableCourseEl) {
+			imModule.setCourseEnabled(imEnableCourseEl.isSelected(0));
+		} else if(source == imEnablePrivateEl) {
+			imModule.setPrivateEnabled(imEnablePrivateEl.isSelected(0));
+		} else if(source == imEnableOnlineUsersEl) {
+			imModule.setOnlineUsersEnabled(imEnableOnlineUsersEl.isSelected(0));
+		} else if(source == imEnableGroupPeersEl) {
+			imModule.setGroupPeersEnabled(imEnableGroupPeersEl.isSelected(0));
+		}
+		super.formInnerEvent(ureq, source, event);
+	}
+
+	@Override
+	protected void formOK(UserRequest ureq) {
+		//
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java
new file mode 100644
index 0000000000000000000000000000000000000000..1fb820cd10c081c7e3433febc9345faeb3df5fc5
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java
@@ -0,0 +1,355 @@
+/**
+* OLAT - Online Learning and Training<br>
+* http://www.olat.org
+* <p>
+* Licensed under the Apache License, Version 2.0 (the "License"); <br>
+* you may not use this file except in compliance with the License.<br>
+* You may obtain a copy of the License at
+* <p>
+* http://www.apache.org/licenses/LICENSE-2.0
+* <p>
+* Unless required by applicable law or agreed to in writing,<br>
+* software distributed under the License is distributed on an "AS IS" BASIS, <br>
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+* See the License for the specific language governing permissions and <br>
+* limitations under the License.
+* <p>
+* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
+* University of Zurich, Switzerland.
+* <hr>
+* <a href="http://www.openolat.org">
+* OpenOLAT - Online Learning and Training</a><br>
+* This file has been modified by the OpenOLAT community. Changes are licensed
+* under the Apache 2.0 license as the original file.  
+* <p>
+*/
+package org.olat.instantMessaging.ui;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
+import org.olat.core.gui.components.Component;
+import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
+import org.olat.core.gui.components.link.Link;
+import org.olat.core.gui.components.link.LinkFactory;
+import org.olat.core.gui.components.panel.Panel;
+import org.olat.core.gui.components.velocity.VelocityContainer;
+import org.olat.core.gui.control.Controller;
+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.floatingresizabledialog.FloatingResizableDialogController;
+import org.olat.core.gui.themes.Theme;
+import org.olat.core.id.OLATResourceable;
+import org.olat.core.util.StringHelper;
+import org.olat.core.util.WebappHelper;
+import org.olat.core.util.event.EventBus;
+import org.olat.core.util.event.GenericEventListener;
+import org.olat.core.util.resource.OresHelper;
+import org.olat.course.nodes.iq.AssessmentEvent;
+import org.olat.ims.qti.process.AssessmentInstance;
+import org.olat.instantMessaging.CloseInstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessagingEvent;
+import org.olat.instantMessaging.InstantMessagingService;
+import org.olat.instantMessaging.OpenInstantMessageEvent;
+import org.olat.instantMessaging.model.Buddy;
+
+/**
+ * Description:<br />
+ * Main controller which initiates the connection and provides status change/roster and chat possibilities
+ * 
+ * <P>
+ * Initial Date:  26.04.2007 <br />
+ * @author guido
+ */
+public class InstantMessagingMainController extends BasicController implements GenericEventListener {
+	
+	private static final String ACTION_MSG = "cmd.msg";
+	
+	private VelocityContainer main = createVelocityContainer("index");
+	private VelocityContainer chatContent = createVelocityContainer("chat");
+	private VelocityContainer newMsgIcon = createVelocityContainer("newMsgIcon");
+	private Panel notifieNewMsgPanel;
+	
+	//roster
+	private Panel rosterPanel;
+	private Link onlineOfflineCount;
+	private IMBuddyListController rosterCtr;
+	private FloatingResizableDialogController rosterPanelCtr;
+	//status changes
+	private Panel statusPanel;
+	private Link statusChangerLink;
+	private IMTopNavStatusController statusChangerCtr;
+	private FloatingResizableDialogController statusChangerPanelCtr;
+	//chat list
+	private JSAndCSSComponent jsc;
+	private ChatManagerController chatMgrCtrl;
+	private Map<Long, Buddy> showNewMessageHolder = new HashMap<Long, Buddy>();
+
+	
+
+	private EventBus singleUserEventCenter;
+	private final InstantMessagingService imService;
+
+	public InstantMessagingMainController(UserRequest ureq, WindowControl wControl) {
+		super(ureq, wControl);
+		
+		imService = CoreSpringFactory.getImpl(InstantMessagingService.class);
+		
+		boolean ajaxOn = getWindowControl().getWindowBackOffice().getWindowManager().isAjaxEnabled();
+		chatContent.contextPut("isAjaxMode", Boolean.valueOf(ajaxOn));
+		
+		//	checks with the given intervall if dirty components are available to rerender
+		jsc = new JSAndCSSComponent("intervall", this.getClass(), null, null, false, null, 5000);
+		main.put("updatecontrol", jsc);
+		
+		// configure new message sound
+		newMsgIcon.contextPut("iconsHolder", showNewMessageHolder);
+		
+		Theme guiTheme = getWindowControl().getWindowBackOffice().getWindow().getGuiTheme();
+		String newMessageSoundURL = guiTheme.getBaseURI() + "/sounds/new_message.wav";
+		File soundFile = new File(WebappHelper.getContextRoot() + "/themes/" + guiTheme.getIdentifyer() + "/sounds/new_message.wav");
+		if (!soundFile.exists()) {
+			// fallback to default theme when file does not exist in configured theme
+			newMessageSoundURL = newMessageSoundURL.replace("/themes/" + guiTheme.getIdentifyer(), "/themes/openolat");
+		}
+		newMsgIcon.contextPut("newMessageSoundURL", newMessageSoundURL);
+
+		notifieNewMsgPanel = new Panel("newMsgPanel");
+		notifieNewMsgPanel.setContent(newMsgIcon);
+			
+		
+		//status changer link
+		statusChangerLink = LinkFactory.createCustomLink("statusChanger", "cmd.status", "", Link.NONTRANSLATED, null, this);
+		statusChangerLink.registerForMousePositionEvent(true);
+		statusChangerLink.setTooltip(getTranslator().translate("im.status.change.long"), false);
+		updateStatusCss(null);
+		main.put("statusChangerPanel", statusChangerLink);
+
+		// (offline / online) link
+		onlineOfflineCount = LinkFactory.createCustomLink("onlineOfflineCount", "cmd.roster", "", Link.NONTRANSLATED, main, this);
+		onlineOfflineCount.setCustomDisplayText("(?/?)");
+		onlineOfflineCount.setTooltip(getTranslator().translate("im.roster.intro"), false);
+		onlineOfflineCount.registerForMousePositionEvent(true);
+		main.put("buddiesSummaryPanel", onlineOfflineCount);
+
+		main.put("newMsgPanel", notifieNewMsgPanel);
+		rosterPanel = new Panel("rosterPanel");
+		main.put("rosterPanel", rosterPanel);
+		statusPanel = new Panel("statusPanel");
+		main.put("statusPanel", statusPanel);
+		
+		//creates and manages the p2p chats
+		chatMgrCtrl = new ChatManagerController(ureq, wControl);
+		listenTo(chatMgrCtrl);
+		newMsgIcon.put("chats", chatMgrCtrl.getInitialComponent());
+		
+		//listen to privat chat messages
+		imService.listenChat(getIdentity(), getPrivatListenToResourceable(), this);
+		
+		singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
+		singleUserEventCenter.registerFor(this, getIdentity(), InstantMessagingService.ASSESSMENT_EVENT_ORES);
+		singleUserEventCenter.registerFor(this, getIdentity(), InstantMessagingService.TOWER_EVENT_ORES);
+		
+		putInitialPanel(main);
+	}
+
+	/**
+	 * @see org.olat.core.gui.control.DefaultController#doDispose(boolean)
+	 */
+	@Override
+	protected void doDispose() {
+		imService.unlistenChat(getPrivatListenToResourceable(), this);
+		singleUserEventCenter.deregisterFor(this, InstantMessagingService.ASSESSMENT_EVENT_ORES);
+		singleUserEventCenter.deregisterFor(this, InstantMessagingService.TOWER_EVENT_ORES);
+	}
+	
+	public OLATResourceable getPrivatListenToResourceable() {
+		return OresHelper.createOLATResourceableInstance("Buddy", getIdentity().getKey());	
+	}
+
+	/**
+	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
+	 */
+	@Override
+	public void event(UserRequest ureq, Component source, Event event) {
+		if (source == statusChangerLink) {			
+			doChangeStatus(ureq);
+		} else if (source == onlineOfflineCount) {
+			doOpenRoster(ureq);
+		} else if (source instanceof Link) {
+			Link link = (Link)source;
+			//chat gets created by click on buddy list
+			if (link.getCommand().equals(ACTION_MSG)) {//chats gets created by click on new message icon
+				Buddy buddy = (Buddy)link.getUserObject();
+				chatMgrCtrl.createChat(ureq, buddy);
+				showNewMessageHolder.remove(buddy.getIdentityKey());
+				newMsgIcon.setDirty(true);
+			}
+		}
+	}
+
+	@Override
+	protected void event(UserRequest ureq, Controller source, Event event) {
+		if (source == statusChangerPanelCtr) {
+			//closing the floating panel event
+			statusPanel.setContent(null);
+			removeAsListenerAndDispose(statusChangerCtr);
+			removeAsListenerAndDispose(statusChangerPanelCtr);
+			statusChangerCtr = null;
+			statusChangerPanelCtr = null;
+		} else if (source == statusChangerCtr) {
+			//update status
+			updateStatusCss(statusChangerCtr.getSelectedStatus());
+		} else if (source == rosterPanelCtr) {
+			//closing the floating panel event
+			int buddyCount = 12;//clientHelper.buddyCountOnline()
+			onlineOfflineCount.setCustomDisplayText("" + buddyCount);
+			removeAsListenerAndDispose(rosterCtr);
+			removeAsListenerAndDispose(rosterPanelCtr);
+			rosterCtr = null;
+			rosterPanelCtr = null;
+			rosterPanel.setContent(null);
+		} else if (source == rosterCtr) {
+			if(event instanceof OpenInstantMessageEvent) {
+				OpenInstantMessageEvent e = (OpenInstantMessageEvent)event;
+				doOpenPrivateChat(ureq, e.getBuddy()); 
+			}
+		} else if (source == chatMgrCtrl) {
+			//closing events from chat manager controller
+			notifieNewMsgPanel.setContent(newMsgIcon);
+		}
+	}
+
+	/**
+	 * gets called if either a new message or a presence change from one of the buddies happens
+	 * or an Assessment starts or ends
+	 * @see org.olat.core.util.event.GenericEventListener#event(org.olat.core.gui.control.Event)
+	 */
+	public void event(Event event) {
+		if(event instanceof InstantMessagingEvent) {
+			processInstantMessageEvent((InstantMessagingEvent)event);
+		} else if (event instanceof AssessmentEvent) {
+			processAssessmentEvent((AssessmentEvent)event);
+		} else if (event instanceof OpenInstantMessageEvent) {
+			processOpenInstantMessageEvent((OpenInstantMessageEvent)event);
+		} else if(event instanceof CloseInstantMessagingEvent) {
+			processCloseInstantMessageEvent();
+		}
+	}
+	
+	private void doOpenPrivateChat(UserRequest ureq, Buddy buddy) {
+		//info.getInitialMessages()
+		chatMgrCtrl.createChat(ureq, buddy);
+	}
+	
+	private void doOpenRoster(UserRequest ureq) {
+		removeAsListenerAndDispose(rosterCtr);
+		removeAsListenerAndDispose(rosterPanelCtr);
+		
+		rosterCtr = new IMBuddyListController(ureq, getWindowControl());
+		listenTo(rosterCtr);
+		
+		rosterPanelCtr = new FloatingResizableDialogController(ureq, getWindowControl(), rosterCtr.getInitialComponent(),
+				translate("im.buddies"), 300, 500, onlineOfflineCount.getOffsetX() - 80, onlineOfflineCount.getOffsetY() + 25,
+				null, null, true, true, true, "im_roster"
+		);
+		listenTo(rosterPanelCtr);
+		rosterPanel.setContent(rosterPanelCtr.getInitialComponent());
+		onlineOfflineCount.setDirty(false);		
+	}
+	
+	private void doChangeStatus(UserRequest ureq) {
+		removeAsListenerAndDispose(statusChangerCtr);
+		removeAsListenerAndDispose(statusChangerPanelCtr);
+		
+		statusChangerCtr = new IMTopNavStatusController(ureq, getWindowControl());
+		listenTo(statusChangerCtr);
+		
+		statusChangerPanelCtr = new FloatingResizableDialogController(ureq, getWindowControl(), statusChangerCtr.getInitialComponent(),
+				translate("im.status.change"), 210, 125, statusChangerLink.getOffsetX() - 130, statusChangerLink.getOffsetY() + 25,
+				null, null, false, false, true, "im_status");
+		listenTo(statusChangerPanelCtr);
+		statusPanel.setContent(statusChangerPanelCtr.getInitialComponent());
+		statusChangerLink.setDirty(false);
+	}
+	
+	private void updateStatusCss(String status) {
+		if(!StringHelper.containsNonWhitespace(status)) {
+			status = imService.getStatus(getIdentity().getKey());
+		}
+		String cssClass = "o_instantmessaging_" + status + "_icon";
+		statusChangerLink.setCustomEnabledLinkCSS("b_small_icon " + cssClass);
+	}
+	
+	private void processAssessmentEvent(AssessmentEvent event) {
+		if(event.getEventType().equals(AssessmentEvent.TYPE.STARTED)) {
+			main.contextPut("inAssessment", true);
+		} else if(event.getEventType().equals(AssessmentEvent.TYPE.STOPPED)) {
+			OLATResourceable a = OresHelper.createOLATResourceableType(AssessmentInstance.class);
+			if (singleUserEventCenter.getListeningIdentityCntFor(a)<1) {
+				main.contextPut("inAssessment", false);
+			}
+		} 
+	}
+
+	private void processOpenInstantMessageEvent(OpenInstantMessageEvent event) {
+		UserRequest ureq = event.getUserRequest();
+		if(ureq != null) {
+			if(event.getOres() != null) {
+				//open a group chat
+				chatMgrCtrl.createGroupChat(ureq, event.getOres());
+				
+			}	
+		}
+	}
+	
+	private void processCloseInstantMessageEvent() {
+		if(statusChangerPanelCtr != null) {
+			statusChangerPanelCtr.executeCloseCommand();
+			removeAsListenerAndDispose(statusChangerPanelCtr);
+			statusPanel.setContent(null);
+		}
+		if(rosterPanelCtr != null) {
+			rosterPanelCtr.executeCloseCommand();
+			removeAsListenerAndDispose(rosterPanelCtr);
+			rosterPanel.setContent(null);
+		}
+		if(chatMgrCtrl != null) {
+			chatMgrCtrl.closeAllChats();
+		}
+	}
+	
+	private void processInstantMessageEvent(InstantMessagingEvent imEvent) {
+		if (imEvent.getCommand().equals("message")) {
+			//user receives messages from an other user
+			Long fromId = imEvent.getFromId();
+			if(!chatMgrCtrl.hasRunningChat(fromId)) {
+				//only show icon if no chat running or msg from other user
+				//add follow up message to info holder
+				if (!showNewMessageHolder.containsKey(fromId)) {
+					Buddy buddy = imService.getBuddyById(fromId);
+					showNewMessageHolder.put(fromId, buddy);
+					createShowNewMessageLink(fromId, buddy);
+				}
+			}
+		}
+	}
+	
+	/**
+	 * creates an new message icon link
+	 * @param jabberId
+	 */
+	private Link createShowNewMessageLink(Long fromId, Buddy buddy) {
+		Link link = LinkFactory.createCustomLink(fromId.toString(), ACTION_MSG, "", Link.NONTRANSLATED, newMsgIcon, this);
+		link.registerForMousePositionEvent(true);
+		link.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_new_msg_icon");
+		link.setTooltip(getTranslator().translate("im.new.message", new String[]{ fromId.toString() }), false);
+		link.setUserObject(buddy);
+		newMsgIcon.put(fromId.toString(), link);
+		return link;
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/ui/Roster.java b/src/main/java/org/olat/instantMessaging/ui/Roster.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb1c8128ad286a47265489305241588ec886c0c8
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/Roster.java
@@ -0,0 +1,94 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.olat.instantMessaging.model.Buddy;
+
+/**
+ * 
+ * Initial date: 05.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class Roster {
+	
+	private final List<RosterEntry> entries;
+	
+	public Roster() {
+		entries = new ArrayList<RosterEntry>();
+	}
+	
+	public Roster(List<RosterEntry> entries) {
+		this.entries = entries;
+	}
+	
+	public boolean contains(Long identityKey) {
+		for(RosterEntry entry:entries) {
+			if(identityKey.equals(entry.getIdentityKey())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public RosterEntry get(Long identityKey) {
+		for(RosterEntry entry:entries) {
+			if(identityKey.equals(entry.getIdentityKey())) {
+				return entry;
+			}
+		}
+		return null;
+	}
+	
+	public void addBuddies(List<Buddy> buddies) {
+		if(buddies != null) {
+			for(Buddy buddy:buddies) {
+				if(contains(buddy.getIdentityKey())) {
+					//update status
+					get(buddy.getIdentityKey()).setStatus(buddy.getStatus());
+				} else {
+					entries.add(new RosterEntry(buddy));
+				}	
+			}
+		}
+	}
+	
+	public void add(RosterEntry entry) {
+		entries.add(entry);
+	}
+	
+	public int size() {
+		return entries == null ? 0: entries.size();
+	}
+
+	public List<RosterEntry> getEntries() {
+		return entries;
+	}
+	
+	public void update(List<RosterEntry> newBuddies) {
+		//remove duplicates
+		newBuddies.removeAll(entries);
+		//add the new buddies
+		entries.addAll(newBuddies);
+	}
+}
diff --git a/src/main/java/org/olat/instantMessaging/ui/RosterEntry.java b/src/main/java/org/olat/instantMessaging/ui/RosterEntry.java
new file mode 100644
index 0000000000000000000000000000000000000000..f2f30fe795328fcdae171bf41d06e7925548a4c4
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/RosterEntry.java
@@ -0,0 +1,116 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging.ui;
+
+import org.olat.instantMessaging.model.Buddy;
+
+
+/**
+ * 
+ * Initial date: 07.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class RosterEntry implements Comparable<RosterEntry>{
+
+	private final Long identityKey;
+	private String name;
+	private boolean anonym;
+	private String status;
+
+	public RosterEntry(Long identityKey) {
+		this.identityKey = identityKey;
+	}
+	
+	public RosterEntry(Buddy buddy) {
+		this(buddy.getIdentityKey(), buddy.getFullname(), false, buddy.getStatus());
+	}
+	
+	public RosterEntry(Long identityKey, String name, boolean anonym, String status) {
+		this(identityKey);
+		this.name = name;
+		this.anonym = anonym;
+		this.status = status;
+	}
+	
+	public Long getIdentityKey() {
+		return identityKey;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+	
+	public boolean isAnonym() {
+		return anonym;
+	}
+	
+	public void setAnonym(boolean anonym) {
+		this.anonym = anonym;
+	}
+	
+	public String getStatus() {
+		return status;
+	}
+	
+	public void setStatus(String status) {
+		this.status = status;
+	}
+	
+	@Override
+	public int compareTo(RosterEntry o) {
+		if(o == null) return -1;
+		int result = 0;
+		if(name != null && o.name != null) {
+			result = name.compareTo(o.name);
+		}
+		if(result == 0 && identityKey != null && o.identityKey != null) {
+			result = identityKey.compareTo(o.identityKey);
+		}
+		return result;
+	}
+
+	@Override
+	public int hashCode() {
+		return identityKey == null ? 934785 : identityKey.hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		if(obj == this) {
+			return true;
+		}
+		if(obj instanceof RosterEntry) {
+			RosterEntry b = (RosterEntry)obj;
+			return identityKey != null && identityKey.equals(b.identityKey);
+		}	
+		return false;
+	}
+
+	@Override
+	public String toString() {
+		return "rosterEntry[identityKey=" + identityKey + ":name=" + name + ":anonym=" + anonym + ":status=" + status + "]";
+	}
+
+}
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/SendMessageForm.java b/src/main/java/org/olat/instantMessaging/ui/SendMessageForm.java
similarity index 98%
rename from src/main/java/org/olat/instantMessaging/groupchat/SendMessageForm.java
rename to src/main/java/org/olat/instantMessaging/ui/SendMessageForm.java
index f52ec19528fc523f93f3f76860bc90f69313d48d..777cade513814383b970f617f9a1d9ddf1b84cee 100644
--- a/src/main/java/org/olat/instantMessaging/groupchat/SendMessageForm.java
+++ b/src/main/java/org/olat/instantMessaging/ui/SendMessageForm.java
@@ -23,7 +23,7 @@
 * under the Apache 2.0 license as the original file.  
 * <p>
 */
-package org.olat.instantMessaging.groupchat;
+package org.olat.instantMessaging.ui;
 
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/ToggleAnonymousForm.java b/src/main/java/org/olat/instantMessaging/ui/ToggleAnonymousForm.java
similarity index 98%
rename from src/main/java/org/olat/instantMessaging/groupchat/ToggleAnonymousForm.java
rename to src/main/java/org/olat/instantMessaging/ui/ToggleAnonymousForm.java
index 3e7e2f25665154528d45f1d7456280079b654318..5ec49e68141c3785e1ad4d6e0cfea00df5719eb8 100644
--- a/src/main/java/org/olat/instantMessaging/groupchat/ToggleAnonymousForm.java
+++ b/src/main/java/org/olat/instantMessaging/ui/ToggleAnonymousForm.java
@@ -23,7 +23,7 @@
 * under the Apache 2.0 license as the original file.  
 * <p>
 */
-package org.olat.instantMessaging.groupchat;
+package org.olat.instantMessaging.ui;
 
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/_static/chat_de.gif b/src/main/java/org/olat/instantMessaging/ui/_chelp/_static/chat_de.gif
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/_static/chat_de.gif
rename to src/main/java/org/olat/instantMessaging/ui/_chelp/_static/chat_de.gif
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/_static/chat_en.gif b/src/main/java/org/olat/instantMessaging/ui/_chelp/_static/chat_en.gif
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/_static/chat_en.gif
rename to src/main/java/org/olat/instantMessaging/ui/_chelp/_static/chat_en.gif
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/instant-messenger.html b/src/main/java/org/olat/instantMessaging/ui/_chelp/instant-messenger.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_chelp/instant-messenger.html
rename to src/main/java/org/olat/instantMessaging/ui/_chelp/instant-messenger.html
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/admin.html b/src/main/java/org/olat/instantMessaging/ui/_content/admin.html
new file mode 100644
index 0000000000000000000000000000000000000000..f026bb8fdbe996adeccc94387651318b90806eac
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/admin.html
@@ -0,0 +1,6 @@
+<fieldset><legend>$r.translate("im.module.enable.title")</legend>
+$r.render("flc_module")
+</fieldset>
+<fieldset><legend>$r.translate("im.module.options.title")</legend>
+$r.render("flc_options")
+</fieldset>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesList.html b/src/main/java/org/olat/instantMessaging/ui/_content/buddies.html
similarity index 79%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesList.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/buddies.html
index 5632eaeb4d0f0c3185795ce7430628e8f465dc38..88ae1a73bd2623fde7430794a3c977713133fd2e 100644
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/buddiesList.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/buddies.html
@@ -4,6 +4,6 @@
 	## show or hide groups
 	$r.render("toggleGroups")
 	<hr class="b_form_spacer" />
+	${buddyList.size()}&nbsp;$r.translate("im.others.connected")
 	$r.render("buddiesListContent")
-	$othersConnected.countConnectedUsers()&nbsp;$r.render("im.others.connected")
 </div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/buddies_content.html b/src/main/java/org/olat/instantMessaging/ui/_content/buddies_content.html
new file mode 100644
index 0000000000000000000000000000000000000000..743fb64a5918a7fab6dbaa69b29943403f0d578f
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/buddies_content.html
@@ -0,0 +1,5 @@
+<ul>
+	#foreach ($buddy in $buddyList.entries)
+		<li>$r.render("buddy_${buddy.identityKey}")</li>
+	#end
+</ul>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/chat.html b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
similarity index 77%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/chat.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/chat.html
index 07a45a3e1a23fbbf80c1fb545a833dab7ca95bf4..aa3ed13fe8a2264beb33eeedb5a800ce675a0b7f 100644
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/chat.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
@@ -1,16 +1,24 @@
 <div class="o_instantmessaging_chat">
+	#if ($r.available("toggleSwitch") || !$isAjaxMode)
+	<div class="b_clearfix">
+		#if ($r.available("toggleSwitch"))
+			$r.render("toggleSwitch")
+		#end
+		#if(!$isAjaxMode)
+			<div class="b_float_right">$r.render("refresh")</div>
+		#end
+	</div>
+	#end
+	
 	$r.render("chatMsgFieldPanel")
 	<div class="o_instantmessaging_chat_form">
 		$r.render("sendMessageForm")
 	</div>
-	#if(!$isAjaxMode)
-		<div class="b_float_right">$r.render("refresh")</div>
-	#end
+	
 </div>
 
 <script type="text/javascript">
 	/* <![CDATA[ */ 
-
 function tweak_${panelName}() {
 	try {		
 		var win = Ext.getCmp('${panelName}');
@@ -34,6 +42,5 @@ function focus_${panelName}() {
 		}
 	} catch (e) {/**/}
 }
-
 /* ]]> */
 </script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/chatMsgField.html b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/chatMsgField.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/chats.html b/src/main/java/org/olat/instantMessaging/ui/_content/chats.html
similarity index 64%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/chats.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/chats.html
index b58bc985a60f2684e35b258731c112382b7a3f81..99c191528304933d455fd72d3d11816e2bef98f3 100644
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/chats.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chats.html
@@ -1,3 +1,3 @@
 #foreach ($entry in $chats.keySet())
-	$r.render($entry)
+	$r.render("${entry}")
 #end
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/connectedclientslist.html b/src/main/java/org/olat/instantMessaging/ui/_content/connectedclientslist.html
deleted file mode 100644
index 99ac725efd6be20c6b62a04d5716ce17bc3b77fe..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/_content/connectedclientslist.html
+++ /dev/null
@@ -1,29 +0,0 @@
-#***********************************
-* shows a user list in a pop up off all connected
-* instant messaging users together with
-* real name and last status
-***********************************#
-$r.render("chats")
-<div class="b_float_right">$r.render("command.refresh")</div>
-<h4>$r.translate("im.users.list")</h4>
-#if($havelist)
-$r.render("usertable")
-## show number of invisible users
-#if($invisibleUsers != "0")
-	<h4>$r.translate("im.users.list.unavailable",["$invisibleUsers"])</h4>
-#end
-#else
-$r.translate("im.users.list.not.available") 
-#end
-
-<script type="text/javascript">
-/* <![CDATA[ */ 
-var xx = false;
-function unloaded () {
-	if (xx) return;
-	xx = true;
-	$r.javaScriptBgCommand("close");	             
-}
-Ext.onReady(function(){window.onunload=unloaded;window.onbeforeunload=unloaded;},100);
-/* ]]> */
-</script>
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/empty.html b/src/main/java/org/olat/instantMessaging/ui/_content/empty.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/empty.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/empty.html
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/imsettings.html b/src/main/java/org/olat/instantMessaging/ui/_content/imsettings.html
index 621c700f0290ef8c7aaf6f27eb0982e2b1942cf1..407f03ef695def0dfc8a95116a35d97d350028b8 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/imsettings.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/imsettings.html
@@ -1,17 +1,2 @@
 $r.render("onlinelistform")
 $r.render("rosterform")
-
-## fxdiff: FXOLAT-46
-#if (!$hideExternalClientInfo)
-<fieldset>
-	<legend>$r.translate("title.imclient.extern")</legend>
-	<p>
-		$r.translate("imclient.extern.intro")
-	</p>
-	<p>
-		$r.translate("imclient.extern.protocol")<br />
-		$r.translate("imclient.extern.username", $chatusername)<br />
-		$r.translate("imclient.extern.pw") <input type="text" value="$password" readonly="readonly"/>
-	</p>
-</fieldset>
-#end
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
new file mode 100644
index 0000000000000000000000000000000000000000..90910f6a7746903db35e39c925f53dac8f568f10
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
@@ -0,0 +1,17 @@
+$r.render("chats")
+#if($iconsHolder.size() > 0)
+	<script type="text/javascript">
+	/* <![CDATA[ */
+		## Play sound using scriptaculous library. 
+		## Use Ext.onReady to deferre execution and prevent errors in IE
+		Ext.onReady(function() {Sound.play('$newMessageSoundURL')});
+		document.title = "$r.translate('im.new.message.short')";
+	/* ]]> */ 
+	</script>
+	## render the new message icon links
+	#foreach ($holder in $iconsHolder)
+		$r.render("${holder.identityKey}")
+	#end
+#end
+
+
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/roster.html b/src/main/java/org/olat/instantMessaging/ui/_content/roster.html
new file mode 100644
index 0000000000000000000000000000000000000000..82eb5701cfbfd277c847a165f66f82dfc28ce45c
--- /dev/null
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/roster.html
@@ -0,0 +1,7 @@
+<div class="o_groupchat_roster">
+	<ul>
+	#foreach($entry in $rosterList.entries)
+		<li>$entry.name</li>			
+	#end
+	</ul>
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/sendMessageForm.html b/src/main/java/org/olat/instantMessaging/ui/_content/sendMessageForm.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/groupchat/_content/sendMessageForm.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/sendMessageForm.html
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerContent.html b/src/main/java/org/olat/instantMessaging/ui/_content/status_changer.html
similarity index 72%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerContent.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/status_changer.html
index 88771db25af575f2667cbbbcac27bce8245593c2..b68eea3905be65bce7210164e7a2c8a0dc2f1dd2 100644
--- a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/statusChangerContent.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/status_changer.html
@@ -2,9 +2,6 @@
 	$r.contextHelpWithWrapper("org.olat.instantMessaging.rosterandchat","instant-messenger.html","help.hover.im")
 	<ul>
 		<li>$r.render("presence.available")</li>
-		<li>$r.render("presence.chat")</li>
-		<li>$r.render("presence.away")</li>
-		<li>$r.render("presence.xa")</li>
 		<li>$r.render("presence.dnd")</li>
 		<li>$r.render("presence.unavailable")</li>
 	</ul>
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/summary.html b/src/main/java/org/olat/instantMessaging/ui/_content/summary.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/groupchat/_content/summary.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/summary.html
diff --git a/src/main/java/org/olat/instantMessaging/groupchat/_content/toogleForm.html b/src/main/java/org/olat/instantMessaging/ui/_content/toogleForm.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/groupchat/_content/toogleForm.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/toogleForm.html
diff --git a/src/main/java/org/olat/instantMessaging/rosterandchat/_content/index.html b/src/main/java/org/olat/instantMessaging/ui/_content/topnav.html
similarity index 100%
rename from src/main/java/org/olat/instantMessaging/rosterandchat/_content/index.html
rename to src/main/java/org/olat/instantMessaging/ui/_content/topnav.html
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ar.properties
index 01c75986baba62b0a1279de7df60018f92a7fb6c..d0e2cb1720ba86d04786210ba5949fee0c233b86 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ar.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ar.properties
@@ -1,3 +1,103 @@
+#Mon Feb 22 15:12:14 CET 2010
+click.to.join=...\u0627\u062F\u062E\u0644 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
+close=\u0625\u063A\u0644\u0627\u0642
+close.connections=...\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0627\u062A\u0635\u0627\u0644
+course.chat.click.to.join=\u064A\u0645\u0643\u0646\u0643 \u0641\u0649 \u0647\u0630\u0627 \u0627\u0644\u0645\u0642\u0631\u0631 \u0625\u0631\u0633\u0627\u0644 \u0648\u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0645\u0646 \u0645\u0634\u0627\u0631\u0643\u0649 \u0627\u0644\u0645\u0642\u0631\u0631.
+course.chat.intro=\u0644\u0642\u062F \u0642\u0645\u062A \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0643\u0645\u0633\u062A\u062E\u062F\u0645 \u0645\u062C\u0647\u0648\u0644\u060C \u0639\u0644\u0649 \u0623\u064A\u0629 \u062D\u0627\u0644\u060C <br>\u060C\u064A\u0645\u0643\u0646\u0643 \u0647\u0646\u0627 \u0645\u062D\u062F\u062B\u0629 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0627\u0644\u0630\u064A\u0646 \u0642\u0627\u0645\u0648\u0627 \u0628\u062A\u0639\u062F\u064A\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0642\u0631\u0631\r\n\u064A\u0645\u0643\u0646\u0643 \u0623\u0646 \u062A\u0642\u0631\u0631 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643 \u0641\u0649 \u0623\u0648\u0644\u0627\u062A\u060C\r\n\u0648\u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0631\u064A\u062F \u0627\u0644\u0645\u063A\u0627\u062F\u0631\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0645\u0642\u0631\u0631 \u0627\u0644\u062E\u0627\u0635 \u0628\u0643.<br>
+course.groupchat=\:\u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+coursechat.not.available=\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629 \u062D\u0627\u0644\u064A\u0627\u064B\u060C \u064A\u0631\u062C\u0649 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0641\u0649 \u0648\u0642\u062A \u0644\u0627\u062D\u0642.
+coursechat.not.available.short=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629.
+groupchat.new.msg=\!\u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0641\u0649 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
+groupchat.not.available=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629.
+groupchat.roster=\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646
+im.conference.maxi.intro=\u064A\u0645\u0643\u0646\u0643 \u0647\u0646\u0627 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0627\u0644\u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u0622\u062E\u0631\u064A\u064A\u0646 \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
+im.conference.maxi.title=\u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+im.conference.participants=\:\u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u062D\u0627\u0644\u0649 \u064A\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0627\u0644\u062A\u0627\u0644\u064A\u064A\u0646 \u0647\u0630\u0647 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+im.refresh=\u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0639\u0631\u0636
+im.refresh.auto=\u0627\u0644\u0639\u0631\u0636 \u0633\u064A\u062A\u0645 \u062A\u062D\u0645\u064A\u0644\u0647 \u062A\u0644\u0642\u0627\u0626\u064A\u0627\u064B.
+init.messaging=Init
+msg.send=\u0627\u0631\u0633\u0627\u0644
+msg.send.error=\u0644\u0627 \u064A\u0645\u0643\u0646 \u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u062A\u0643\u060C \u064A\u0631\u062C\u0649 \u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0645\u0642\u0631\u0631 \u0645\u0646 \u062C\u062F\u064A\u062F \u0644\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649.
+nobody=\u0644\u0627 \u0623\u062D\u062F
+openChat=\u062F\u062E\u0648\u0644 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+participants.in.chat=\u062F\u0627\u062E\u0644 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
+toogle.anonymous=\u0639\u0631\u0636 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0641\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+update.roster=\u062A\u062D\u062F\u064A\u062B
+
+
+
+#Wed Jul 28 13:33:32 CEST 2010
+chat.with.yourself=\u0647\u0644 \u062A\u0631\u064A\u062F \u0641\u0639\u0644\u0627\u064B \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0646\u0641\u0633\u0643\u061F
+chelp.add=\u0625\u062F\u0627\u0631\u0629 \u0642\u0627\u0626\u0645\u0629 \u0627\u062A\u0635\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629
+chelp.add1=\u0641\u0649 \u0623\u0648\u0644\u0627\u062A. <i>$org.olat.group.ui\:LearningGroup</i> \u064A\u0645\u0643\u0646 \u062D\u0630\u0641 \u0648\u0625\u0636\u0627\u0641\u0629 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0628\u0648\u0627\u0633\u0637\u0629
+chelp.add2=\u064A\u0645\u0643\u0646 \u062F\u0639\u0648\u0629 \u0627\u0644\u0645\u0624\u0644\u0641\u064A\u0646 \u0627\u0644\u0645\u0633\u0627\u0639\u062F\u064A\u0646 \u0648\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646 \u0644\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0625\u0644\u0649 \u0645\u062C\u0645\u0648\u0639\u062A\u0643. <i>$org.olat.group.ui\:LearningGroup</i> \u0623\u0646\u062A \u0643\u0645\u0624\u0644\u0641 \u0645\u0633\u0627\u0639\u062F \u0641\u0649
+chelp.add3=\u0633\u0648\u0641 \u064A\u0638\u0647\u0631 \u0647\u0624\u0644\u0627\u0621 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u062C\u0645\u0648\u0639\u062A\u0643 \u0641\u0649 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
+chelp.chan1=\u064A\u0645\u0643\u0646\u0643 \u062A\u063A\u064A\u064A\u0631 \u062D\u0627\u0644\u062A\u0643 \u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0648\u0645\u0646 \u062B\u0645 \u0627\u062E\u062A\u064A\u0627\u0631 \u0623\u062D\u062F \u0627\u0644\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0627\u062D\u0629.
+chelp.chan2=\u0639\u0646\u062F\u0645\u0627 \u062A\u0643\u0648\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639\u0637\u0644\u0629 \u0648\u064A\u062A\u0645 \u0639\u0631\u0636 (6/3) \u0628\u062C\u0627\u0646\u0628 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0633\u064A\u062E\u0628\u0631\u0643 \u0647\u0630\u0627 \u0628\u0639\u062F\u062F \u0627\u0644\u0632\u0645\u0644\u0627\u0621 \u0627\u0644\u0630\u064A\u0646 \u0642\u0627\u0645\u0648\u0627 \u0628\u0627\u0644\u062F\u062E\u0648\u0644 \u0648\u0645\u062A\u0627\u062D\u064A\u0646 \u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u062D\u0627\u0644\u0649.
+chelp.chan3=\u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u064A\u0647 \u0641\u0625\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0633\u062A\u0638\u0631 \u0628\u0645\u0627 \u0641\u064A\u0647\u0627 \u0623\u0633\u0645\u0627\u0621 \u0632\u0645\u0644\u0627\u0626\u0643 \u0648\u0643\u0630\u0644\u0643 \u062D\u0627\u0644\u062A\u0647\u0645.
+chelp.client=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0627\u0644\u062E\u0627\u0631\u062C\u0649
+chelp.client1=\u0625\u0630\u0627 \u0623\u0631\u062F\u062A \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0627\u0644\u062E\u0627\u0631\u062C\u0649 \u0641\u0625\u0646\u0643 \u0633\u062A\u062C\u062F \u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0645\u0641\u064A\u062F\u0629 \u0641\u0649 \u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629\u060C \u0642\u0633\u0645 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A\u060C \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629.
+chelp.group=\u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0642\u0631\u0631
+chelp.group1=\u0627\u0644\u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u062A\u0648\u062C\u062F \u0641\u0649 \u0627\u0644\u0639\u062F\u064A\u062F \u0645\u0646 \u0627\u0644\u0623\u0645\u0627\u0643\u0646 \u0641\u0649 \u0623\u0648\u0644\u0627\u062A\r\n(<i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644)
+chelp.group2=.<i>\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629</i> \u0627\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u0631\u0627\u0628\u0637
+chelp.group3=\u0633\u064A\u062A\u0645 \u0641\u062A\u062D \u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629 \u0648\u064A\u0645\u0643\u0646\u0643 \u0628\u062F\u0627\u064A\u0629 \u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
+chelp.group4=\u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0641\u0649 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u064A\u062A\u0645 \u0627\u0631\u0633\u0627\u0644\u0647\u0627 \u0644\u0643\u0644 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u063A\u0631\u0641\u0629.
+chelp.group5=\u0633\u064A\u062A\u0645 \u0639\u0631\u0636 \u0646\u0627\u0641\u0630\u0629 \u0643\u0644 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u064A\u0646 \u0628\u062C\u0627\u0646\u0628 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
+chelp.group6=\u0644\u0644\u062E\u0631\u0648\u062C \u0645\u0646 \u063A\u0631\u0641\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0625\u063A\u0644\u0627\u0642 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629.
+chelp.imgAlt1=\u0635\u0648\u0631\u0629 \u0645\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639 \u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0641\u0649 \u0627\u0644\u062D\u0627\u0644\u0627\u062A \u0627\u0644\u0645\u062E\u062A\u0644\u0641\u0629
+chelp.instant-messenger.title=\u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0631\u0627\u0633\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
+chelp.over=\u0639\u0631\u0636
+chelp.over1=\u062A\u0633\u0645\u062D \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u0628\u062A\u0628\u0627\u062F\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0645\u0639 \u0627\u0644\u0623\u0634\u062E\u0627\u0635 \u0641\u0649 \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0641\u0639\u0644\u0649 -- \u0645\u0627\u064A\u0633\u0645\u0649 \u0628\u0627\u0644\u062F\u0631\u062F\u0634\u0629.
+chelp.over2=\u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0639\u0646 \u062A\u0648\u0627\u0641\u0631 \u0634\u0631\u0643\u0627\u0621 \u0645\u062D\u062A\u0645\u0644\u064A\u0646 \u0644\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0647\u0645\u0629.
+chelp.over3=\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0645\u0646 \u0645\u0627 \u064A\u0633\u0645\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
+chelp.over4=\u062A\u0639\u0631\u0636 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0645\u0639 3 \u0623\u0634\u062E\u0627\u0635 \u0628\u062D\u0627\u0644\u0627\u062A \u0645\u062E\u062A\u0644\u0641\u0629.
+chelp.over7=\u0644\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639 \u0623\u062D\u062F \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u0627\u0644\u0645\u062A\u0627\u062D\u0629\u060C \u0642\u0645 \u0628\u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u064A\u0647 \u0648\u0645\u0646 \u062B\u0645 \u0633\u062A\u0628\u062F\u0623 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0641\u0649 \u0646\u0627\u0641\u0630\u0629 \u0645\u062A\u0635\u0641\u062D \u0623\u062E\u0631\u0649.
+chelp.rece=\u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644
+chelp.rece1=\:\u064A\u0645\u0643\u0646 \u0627\u0633\u062A\u0642\u0628\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0628\u0637\u0631\u064A\u0642\u062A\u064A\u0646
+chelp.rece2=\u0627\u0630\u0627 \u0643\u0627\u0646\u062A \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0644\u064A\u0633\u062A \u0645\u0641\u062A\u0648\u062D\u0629\u060C \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0633\u0648\u0641 \u062A\u0638\u0647\u0631 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 \u062D\u0631\u0648\u0641 \u0648\u0627\u0645\u0636\u0629 \u0642\u0644\u064A\u0644\u0627\u064B \u0639\u0644\u0649 \u0627\u0644\u062C\u0627\u0646\u0628 \u0627\u0644\u0623\u064A\u0633\u0631 \u0645\u0646 \u0631\u0645\u0632 \u0627\u0644\u0646\u062C\u0645\u0629 \u0641\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629.
+chelp.rece3=\u0639\u0646\u062F \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0631\u0645\u0632 \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u0633\u0648\u0641 \u062A\u0638\u0647\u0631.
+chelp.rece4=\u064A\u0645\u0643\u0646\u0643 \u0627\u0644\u0627\u0633\u062A\u062C\u0627\u0628\u0629 \u0644\u0647\u0630\u0647 \u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u0641\u0648\u0631\u064A\u0627\u064B (\u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629 \u0633\u064A\u062A\u0645 \u0641\u062A\u062D\u0647\u0627).
+chelp.rece5=\u0625\u0630\u0627 \u0643\u0627\u0646\u062A \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0641\u062A\u0648\u062D\u0629 \u0641\u0639\u0644\u0627\u064B\u060C \u0641\u0625\u0646 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u062C\u062F\u064A\u062F\u0629 \u0633\u064A\u062A\u0645 \u0639\u0631\u0636\u0647\u0627 \u0641\u0648\u0631\u0627\u064B \u0641\u0649 \u0647\u0630\u0647 \u0627\u0644\u0646\u0627\u0641\u0630\u0629.
+chelp.send=\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644
+chelp.send1=\u0644\u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0642\u0645 \u0641\u0642\u0637 \u0628\u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u0645 \u062F\u0627\u062E\u0644 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629.
+chelp.send2=\u0645\u0646 \u062E\u0644\u0627\u0644 \u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0627\u0633\u0645 \u0633\u064A\u062A\u0645 \u0641\u062A\u062D \u0646\u0627\u0641\u0630\u0629 \u062F\u0631\u062F\u0634\u0629 \u062C\u062F\u064A\u062F\u0629.
+close=\u0625\u063A\u0644\u0627\u0642
+help.hover.im=\u0645\u0633\u0627\u0639\u062F\u0629 \u0628\u0634\u0623\u0646 \u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
+help.hover.imsettings=\u0645\u0633\u0627\u0639\u062F\u0629 \u0628\u0634\u0623\u0646 \u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
+im.buddies=\u0627\u0644\u0623\u0635\u062F\u0642\u0627\u0621
+im.chat=\u062F\u0631\u062F\u0634\u0629
+im.chat.disabled=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0627\u0644\u0645\u0639\u0637\u0644\u0629\u060C \u062E\u0644\u0627\u0644 \u0627\u0644\u0627\u062E\u062A\u0628\u0627\u0631 \u0644\u0646 \u062A\u0643\u0648\u0646 \u0642\u0627\u062F\u0631\u0627\u064B \u0639\u0644\u0649 \u062A\u0644\u0642\u0649 \u0627\u0644\u0631\u0633\u0627\u0626\u0644.
+im.chat.windows.may.invalid=\u062C\u0645\u064A\u0639 \u0627\u0644\u062F\u0631\u062F\u0634\u0627\u062A \u0627\u0644\u062C\u0627\u0631\u064A\u0629 \u062A\u0645 \u0625\u0646\u0647\u0627\u0624\u0647\u0627\u060C \u064A\u0631\u062C\u0649 \u0625\u063A\u0644\u0627\u0642 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
+im.chat.with=\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639
+im.error.connection=\u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D\u0629 \u062D\u0627\u0644\u064A\u0627\u064B.
+im.hide.groups=\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A
+im.hide.offline.buddies=\u0625\u062E\u0641\u0627\u0621 \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629
+im.new.message={0} \:\u0644\u062F\u064A\u0643 \u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0645\u0646
+im.new.message.other=<b>{0}</b> \u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629 \u0645\u0646\r\n<b>{1}</b> \u0627\u0644\u0631\u0633\u0627\u0644\u0629\r\n {2} \:\u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u062A\u0633\u062A\u0645\u0631 \u0645\u0639
+im.new.message.short=...\u0631\u0633\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629
+im.others.connected=\u0645\u0633\u062A\u062E\u062F\u0645\u0649 \u0623\u0648\u0644\u0627\u062A \u0627\u0644\u0645\u062A\u0648\u0627\u062C\u062F\u064A\u0646 \u0639\u0628\u0631 \u0627\u0644\u0627\u0646\u062A\u0631\u0646\u062A
+im.refresh=\u062A\u062C\u062F\u064A\u062F \u0627\u0644\u0639\u0631\u0636
+im.roster.intro=\u0627\u062E\u062A\u0627\u0631 \u0634\u062E\u0635 \u0648\u0627\u062D\u062F \u062A\u0631\u064A\u062F \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0645\u0639\u0647.<br>\u0623\u0649 \u0645\u0646 \u0632\u0645\u0644\u0627\u0626\u0649 \u0641\u0649 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629 \u0642\u0627\u0645 \u0628\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644 \u0625\u0644\u0649 \u0623\u0648\u0644\u0627\u062A\u061F
+im.show.groups=\u0639\u0631\u0636 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A
+im.show.offline.buddies=\u0639\u0631\u0636 \u062C\u0647\u0627\u062A \u0627\u0644\u0627\u062A\u0635\u0627\u0644 \u063A\u064A\u0631 \u0627\u0644\u0645\u062A\u0627\u062D\u0629
+im.start.chat=\u0627\u0646\u0642\u0631 \u0647\u0646\u0627 \u0644\u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u062F\u0631\u062F\u0634\u0629.
+im.status=\:\u0627\u0644\u062D\u0627\u0644\u0629
+im.status.change=\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u062D\u0627\u0644\u0629
+im.status.change.long=\u062A\u063A\u064A\u064A\u0631 \u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629 \u0627\u0644\u0641\u0648\u0631\u064A\u0629
+im.status.msg=\:\u062D\u0627\u0644\u0629 \u0627\u0644\u0645\u0631\u0627\u0633\u0644\u0629
+new.status=\:\u062D\u0627\u0644\u0629 \u062C\u062F\u064A\u062F\u0629
+presence.available=\u0645\u062A\u0627\u062D
+presence.away=\u063A\u0627\u0626\u0628
+presence.chat=\u0623\u0646\u0627 \u0623\u0631\u064A\u062F \u0627\u0644\u062F\u0631\u062F\u0634\u0629
+presence.dnd=\u0645\u0645\u0646\u0648\u0639 \u0627\u0644\u0627\u0632\u0639\u0627\u062C
+presence.offline=\u063A\u064A\u0631 \u0645\u062A\u0627\u062D
+presence.unavailable=\u063A\u064A\u0631 \u0645\u062A\u0640\u0627\u062D
+presence.xa=\u063A\u0627\u0626\u0628 \u0645\u0646\u0630
+refresh=\u062A\u062C\u062F\u064A\u062F
+rosterClose=\u0625\u063A\u0644\u0627\u0642
+start.chat.with=<b>{0}</b>\: \u0627\u0644\u062F\u0631\u062F\u0634\u0629 \u0633\u062A\u0628\u062F\u0623 \u0645\u0639
+
+
 #Mon Feb 22 15:27:28 CET 2010
 command.refresh=\u062A\u062D\u062F\u064A\u062B
 form.coursename=\u0627\u0644\u0645\u0642\u0631\u0631 \u0627\u0644\u0630\u0649 \u0623\u0639\u0645\u0644 \u0639\u0644\u064A\u0647 \u0645\u0631\u0626\u0649
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_bg.properties
index a71ab7ab49badb34b8a8c56b2c9042b0429e3237..8d915fcf01b320116855a8738a9ffc20693846ff 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_bg.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_bg.properties
@@ -1,3 +1,34 @@
+#Fri Aug 28 04:36:08 CEST 2009
+click.to.join=\u0412\u043B\u0435\u0437\u0442\u0435 \u0432 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442...
+close=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435
+close.connections=\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0432\u0440\u044A\u0437\u043A\u0438\u0442\u0435...
+course.chat.click.to.join=\u0412 \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441\u043E\u0432 \u0447\u0430\u0442 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043F\u0440\u0430\u0442\u0438\u0442\u0435 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0440\u0443\u0433\u0438 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0438, \u043A\u0430\u043A\u0442\u043E \u0438 \u0434\u0430 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u0442\u0430\u043A\u043E\u0432\u0430.
+course.chat.intro=\u0422\u0443\u043A \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441 \u0445\u043E\u0440\u0430, \u043A\u043E\u0438\u0442\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0442 \u043A\u0443\u0440\u0441\u0430 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430.<br>\u0412\u0438\u0435 \u0441\u0442\u0435 \u0432\u043B\u0435\u0437\u043B\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0430 \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E. \u041E\u0431\u0430\u0447\u0435, \u043C\u043E\u0436\u0435 \u0434\u0430 \u0440\u0435\u0448\u0438\u0442\u0435 \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0441\u043A\u043E\u0442\u043E \u0441\u0438 \u0438\u043C\u0435 \u0432\u043C\u0435\u0441\u0442\u043E \u0442\u043E\u0432\u0430.
+course.groupchat=\u0421\u0442\u0430\u044F \u0437\u0430 \u0447\u0430\u0442\:
+coursechat.not.available=\u041A\u0443\u0440\u0441\u043E\u0432\u0438\u044F\u0442 \u0447\u0430\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438 \u0432 \u043C\u043E\u043C\u0435\u043D\u0442\u0430. \u041C\u043E\u043B\u044F, \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043E\u0442\u043D\u043E\u0432\u043E \u043F\u043E-\u043A\u044A\u0441\u043D\u043E.
+coursechat.not.available.short=\u0427\u0430\u0442\u044A\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438.
+groupchat.new.msg=\u041D\u043E\u0432\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0432 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442\!
+groupchat.not.available=\u0427\u0430\u0442\u044A\u0442 \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0438.
+groupchat.roster=\u0423\u0447\u0430\u0441\u0442\u043D\u0438\u0446\u0438
+im.conference.maxi.intro=\u0422\u0443\u043A \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u0430 \u0447\u0430\u0442\u0438\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438 \u0447\u043B\u0435\u043D\u043E\u0432\u0435 \u043D\u0430 \u0442\u0430\u0437\u0438 \u0433\u0440\u0443\u043F\u0430.
+im.conference.maxi.title=\u0421\u0442\u0430\u044F \u0437\u0430 \u0447\u0430\u0442
+im.conference.participants=\u0412 \u043C\u043E\u043C\u0435\u043D\u0442\u0430 \u0441\u043B\u0435\u0434\u043D\u0438\u0442\u0435 \u0445\u043E\u0440\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442 \u0442\u043E\u0437\u0438 \u0447\u0430\u0442\:
+im.refresh=\u041F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u0442\u0435 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446
+im.refresh.auto=\u041F\u0440\u043E\u0437\u043E\u0440\u0435\u0446\u044A\u0442 \u0449\u0435 \u0431\u044A\u0434\u0435 \u043F\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.
+init.messaging=Init
+msg.send=\u0418\u0437\u043F\u0440\u0430\u0442\u0435\u0442\u0435
+msg.send.error=\u0412\u0430\u0448\u0435\u0442\u043E \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0431\u044A\u0434\u0435 \u0438\u0437\u043F\u0440\u0430\u0442\u0435\u043D\u043E. \u041C\u043E\u043B\u044F, \u043E\u0442\u0432\u043E\u0440\u0435\u0442\u0435 \u0442\u043E\u0437\u0438 \u043A\u0443\u0440\u0441 \u043E\u0442\u043D\u043E\u0432\u043E \u0438 \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043F\u0430\u043A.
+nobody=\u041D\u0438\u043A\u043E\u0439
+openChat=\u0412\u043B\u0435\u0437\u0442\u0435 \u0432 \u0441\u0442\u0430\u044F\u0442\u0430 \u0437\u0430 \u0447\u0430\u0442
+participants.in.chat=\u0412 \u043A\u0443\u0440\u0441\u043E\u0432\u0438\u044F \u0447\u0430\u0442
+toogle.anonymous=\u041F\u043E\u043A\u0430\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043B\u0441\u043A\u043E \u0438\u043C\u0435 \u0432 \u0441\u0442\u0430\u044F\u0442\u0430 \u0437\u0430 \u0447\u0430\u0442
+update.roster=\u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u0430\u0439\u0442\u0435
+
+
+
+
+
+
 #Wed Jun 03 20:23:32 CEST 2009
 command.refresh=\u0410\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u0430\u0439\u0442\u0435
 form.coursename=\u041A\u0443\u0440\u0441\u044A\u0442, \u043D\u0430\u0434 \u043A\u043E\u0439\u0442\u043E \u0440\u0430\u0431\u043E\u0442\u044F \u0441\u0435 \u0432\u0438\u0436\u0434\u0430
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_cs.properties
index 84120640434978b2aa41a06db4b177dd7dc1ad5e..2dafc40f6681db53cce90fba83895d6ce9685cad 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_cs.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_cs.properties
@@ -1,3 +1,101 @@
+#Mon Mar 02 09:54:14 CET 2009
+close=Zav\u0159\u00EDt
+close.connections=Zav\u0159\u00EDt p\u0159ipojen\u00ED...
+course.chat.intro=Zde m\u016F\u017Eete chatovat s lidmi, kte\u0159\u00ED pr\u00E1v\u011B upravuj\u00ED tento kurzu.&lt;br /&gt;Jste p\u0159ihl\u00E1\u0161en anonymn\u011B. M\u016F\u017Eete se tak\u00E9 rozhodnout pou\u017E\u00EDvat sv\u00E9 u\u017Eivatelsk\u00E9 jm\u00E9no v OLAT.
+course.groupchat=M\u00EDstonst\:
+coursechat.not.available=Chat kurzu je pr\u00E1v\u011B nedostupn\u00FD. Zkuste pozd\u011Bji.
+coursechat.not.available.short=Chat je nedostupn\u00FD.
+groupchat.new.msg=Nov\u00E1 zpr\u00E1va v chatu kurzu\!
+groupchat.not.available=Chat je nedostupn\u00FD.
+groupchat.roster=\u00DA\u010Dastn\u00EDci
+im.conference.maxi.intro=Zde m\u016F\u017Eete chatovat s ostatn\u00EDmi \u010Dleny skupiny.
+im.conference.maxi.title=M\u00EDstnost
+im.conference.participants=V m\u00EDstnosti jsou pr\u00E1v\u011B tito lid\u00E9\:
+im.refresh=Obnovit obrazovku
+im.refresh.auto=Obrazovka bude obnovov\u00E1na automaticky.
+init.messaging=Vytvo\u0159it
+msg.send=Odeslat
+msg.send.error=Va\u0161e zpr\u00E1va nemohla b\u00FDt odesl\u00E1na. Spus\u0165e tento kurz je\u0161t\u011B jenou a zkuste to znovu.
+nobody=Nikdo
+openChat=Vstoupit do m\u00EDstnosti
+participants.in.chat=Uvnit\u0159 chatu kurzu
+toogle.anonymous=Zobrazit u\u017Eivatelsk\u00E9 jm\u00E9no v m\u00EDstnosti
+update.roster=Upravit
+
+
+
+
+#Wed Jul 28 13:33:32 CEST 2010
+chat.with.yourself=Opravdu chcete chatovat se sebou?
+chelp.add=Spravovat kontakty
+chelp.add1=Kontakty mohou b\u00FDt p\u0159id\u00E1v\u00E1ny nebo odeb\u00EDr\u00E1ny kliknut\u00EDm na <i>$org.olat.group.ui\:LearningGroup</i> .
+chelp.add2=Pokud jste <i>$org.olat.group.ui\:LearningGroup</i> m\u016F\u017Eete pozvat nebo vyk\u00E1zat vlastn\u00EDky nebo \u00FA\u010Dastn\u00EDky sv\u00E9 skupiny.
+chelp.add3=Tyto osoby budou na seznamu u\u017Eivatel\u016F.
+chelp.chan1=Sv\u016Fj stav m\u016F\u017Eete zm\u011Bnit kliknut\u00EDm na symbol hv\u011Bzdy a v\u00FDb\u011Brem z dostupn\u00FDch stav\u016F.
+chelp.chan2=(3/6) \u0159\u00EDk\u00E1 kolik z koleg\u016F je p\u0159ihl\u00E1\u0161eno a jsou pr\u00E1v\u011B dostupn\u00ED.
+chelp.chan3=Kliknut\u00EDm na seznam p\u0159ehledu budou vid\u011Bt jm\u00E9na a stavy v\u0161ech koleg\u016F.
+chelp.client=Chat s pou\u017Eit\u00EDm extern\u00EDho programu pro Instant Messaging
+chelp.client1=Pokud chcete pou\u017E\u00EDvat extern\u00ED IM program, najdete d\u016Fle\u017Eit\u00E9 informace v "Dom\u016F"/"Nastaven\u00ED"/"Instant Messaging".
+chelp.group=P\u0159idat se do skupiny chatu
+chelp.group1=Odkazy na m\u00EDstnosti jsou viditeln\u00E9 na r\u016Fzn\u00FDch m\u00EDstech syst\u00E9mu (nap\u0159. <i>$org.olat.group.ui\:LearningGroup</i> , <i>$org.olat.group.ui\:LearningGroup</i> ).
+chelp.group2=Klikn\u011Bte na odkaz <i>Za\u010Dn\u011Bte komunikovat</i>.
+chelp.group3=Otev\u0159e se nov\u00E9 okno a m\u016F\u017Eete vsoupid do komunikace.
+chelp.group4=Zpr\u00E1vy jsou do m\u00EDstnost\u00ED zas\u00EDl\u00E1ny v\u0161em osob\u00E1m.
+chelp.group5=Seznam v\u0161ech \u00FA\u010Dastn\u00EDk\u016F bude zobrazen vedle okna zpr\u00E1v.
+chelp.group6=Pokud chcete opustit m\u00EDstnost, jen okno zav\u0159ete.
+chelp.imgAlt1=Obr\u00E1zek seznamu skupin s kontakty r\u016Fzn\u00FDch stav\u016F
+chelp.instant-messenger.title=Funkce rychl\u00E9 komunikace
+chelp.over=P\u0159ehled
+chelp.over1=Rychl\u00E1 komunikace (IM) umo\u017E\u0148uje v\u00FDm\u011Bnu zpr\u00E1v mezi osobami v re\u00E1ln\u00E9m \u010Dase. Naz\u00EDv\u00E1 se tak\u00E9 "chat".
+chelp.over2=Informace o dostupnosti p\u0159\u00EDpadn\u00FDch partner\u016F pro komunikaci je velmi d\u016Fle\u017Eit\u00E1.
+chelp.over3=Tuto informaci naleznete ve "skupin\u00E1ch".
+chelp.over4=N\u00E1sleduj\u00EDc\u00ED obr\u00E1zek ukazuje skupino o 3 osob\u00E1ch v r\u016Fzn\u00FDch stavech.
+chelp.over7=Pro za\u010D\u00E1tek komunikace s kontaktem, na kontakt klikn\u011Bte a komunikace m\u016F\u017Ee za\u010D\u00EDt ve druh\u00E9m okn\u011B prohl\u00ED\u017Ee\u010De.
+chelp.rece=Obdr\u017Eet zpv\u00E1vy
+chelp.rece1=Zpr\u00E1va m\u016F\u017Ee b\u00FDt p\u0159ijata dv\u011Bma zp\u016Fsoby\:
+chelp.rece2=Pokud je otev\u0159eno okno chatu, zpr\u00E1va se objev\u00ED ve formul\u00E1\u0159i mal\u00FDm blikaj\u00EDc\u00EDm p\u00EDsmem na levo od symbolu hvezdy v menu.
+chelp.rece3=Kliknut\u00EDm na tuto hvezdu zpr\u00E1vu obdr\u017E\u00EDte.
+chelp.rece4=M\u016F\u017Eete okam\u017Eit\u011B odpov\u011Bd\u011Bt (otev\u0159e se nov\u00E9 okno) nebo zpr\u00E1vu smazat.
+chelp.rece5=Pokud je komunika\u010Dn\u00ED okno otev\u0159eno, nov\u00E1 zpr\u00E1va bude okam\u017Eit\u011B zobrazena.
+chelp.send=Poslat zpr\u00E1vu
+chelp.send1=K zasl\u00E1n\u00ED zpr\u00E1vy sta\u010D\u00ED kliknout na p\u0159\u00EDslu\u0161n\u00E9 jm\u00E9no ve skupin\u011B nebo vybrat n\u011Bkoho ze seznamu v\u0161ech p\u0159ihl\u00E1\u0161en\u00FDch u\u017Eivatel\u016F.
+chelp.send2=V\u00FDb\u011Brem jm\u00E9na se otev\u0159e nov\u00E9 okno prohl\u00ED\u017Ee\u010De.
+close=Zav\u0159\u00EDt
+help.hover.im=N\u00E1pov\u011Bda k funkc\u00EDm chatu
+help.hover.imsettings=N\u00E1pov\u011Bda ke konfiguraci chatu
+im.buddies=U\u017Eivatel\u00E9
+im.chat=Chat
+im.chat.disabled=Chat deaktivov\u00E1n. B\u011Bhem testu nebudete moci obdr\u017Eet zpr\u00E1vu.
+im.chat.windows.may.invalid=Cel\u00FD odchoz\u00ED chat p\u0159eru\u0161en. Zav\u0159ete pros\u00EDm okno.
+im.chat.with=Chat s
+im.error.connection=Chat je pr\u00E1v\u011B nedostupn\u00FD
+im.hide.groups=Skr\u00FDt skupiny
+im.hide.offline.buddies=Skr\u00FDt kontakty offline
+im.new.message=M\u00E1te novou zpr\u00E1vu.
+im.new.message.other=Nov\u00E1 zpr\u00E1va od dal\u0161\u00ED osoby\: <b>{0}</b>. Zpr\u00E1va\: <b>{1}</b>. Chat pokra\u010Duje s\: {2}.
+im.others.connected=On-line u\u017Eivatel\u00E9 OLATu
+im.refresh=Obnovit
+im.roster.intro=Kdo z koleg\u016F je pr\u00E1v\u011B p\u0159ihl\u00E1\u0161en do OLATu?<br />Vyberte jednu osobu k chatu.
+im.show.groups=Zobrazit skupiny
+im.show.offline.buddies=Zobrazit kontakty offline
+im.start.chat=Spustit chat.
+im.status=Stav\:
+im.status.change=Zm\u011Bnit stav 
+im.status.change.long=Zm\u011Bnit stav chatu 
+im.status.msg=Stavov\u00E1 zpr\u00E1va\:
+new.status=Nov\u00FD stav\:
+presence.available=Dostupn\u00FD
+presence.away=Pry\u010D
+presence.chat=Chci chatovat
+presence.dnd=Neru\u0161it
+presence.offline=Offline
+presence.unavailable=Nedostupn\u00FD
+presence.xa=Pry\u010D d\u00E9le
+refresh=Obnovit
+rosterClose=Zav\u0159\u00EDt
+start.chat.with=Bude spu\u0161t\u011Bn chat s\: <b>{0}</b>
+
+
 #Mon Mar 02 09:54:14 CET 2009
 command.refresh=Aktualizovat
 form.coursename=Kurz na kter\u00E9m pracuji je viditeln\u00FD
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_da.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_da.properties
index ad28ffbb1ed01caef45d5ac36b312c247c46b404..cc36ba7737c545da9b1291b5b394cf8ea389326d 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_da.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_da.properties
@@ -1,3 +1,42 @@
+#Wed Jul 28 13:33:31 CEST 2010
+chelp.add=Administrer grupper af kontakter
+chelp.add1=Kontakter kan tilf\u00F8jes eller fjernes via <i>$org.olat.group.ui\:LearningGroup</i> i OLAT.
+chelp.add2=Hvis du er ejer af en <i>$org.olat.group.ui\:LearningGroup</i> kan du invitere eller fjerne f\u00E6llesejer eller medlemmer af din gruppe.
+chelp.add3=Disse personer vil s\u00E5ledes fremg\u00E5 af din gruppeliste i OLAT chatten.
+chelp.chan1=Du kan \u00E6ndre din status ved at klikke p\u00E5 stjernesymbolet f\u00F8r du v\u00E6lger en af de mulige tilg\u00E6ngelighedsstatus
+chelp.chan2=(3/6) fort\u00E6ller dig hvor mange af dine kolleger der er logget p\u00E5 og netop nu er tilg\u00E6ngelige.
+chelp.chan3=Ved at klikke p\u00E5 resume vil den komplette gruppeliste blive synlig inklusiv navne og status for dine kolleger.
+chelp.client=Chat ved hj\u00E6lp af et eksternt Instant Messaging program
+chelp.client1=Hvis du vil chatte ved hj\u00E6lp af et eksternt Instant Messaging program vil du finde brugbar information i dit "Hjem", sektionen "Indstillinger", "Instant Messaging".
+chelp.group=Abbonner p\u00E5 en gruppe chat
+chelp.group1=Links til chat rum findes flere steder i OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Klik p\u00E5 linket <i>Start chat</i>.
+chelp.group3=Et nyt vindue vil \u00E5b ne og du kan g\u00E5 ind i gruppechatten.
+chelp.group4=Beskeder til et chatrum sendes til alle personer i det p\u00E5g\u00E6ldende rum. 
+chelp.group5=Listen over medlemmer vil blive vist ved siden af beskedvinduet
+chelp.group6=Hvis du vil forlade chat rummet, luk bare vinduet.
+chelp.imgAlt1=Billede af gruppelisten med kontakter med forskellige tilg\u00E6ngelighedsstatus.
+chelp.instant-messenger.title=Instant Messaging funktioner
+chelp.over=Overblik
+chelp.over1=Instant Messaging (IM) tillader udveksling af beskeder med personer i realtid - s\u00E5kaldt "chat".
+chelp.over2=Information om tilg\u00E6ngeligheden af potentielle chat partnere er vigtigt.
+chelp.over3=Du f\u00E5r denne information ved hj\u00E6lp af den s\u00E5kaldte "gruppeliste"
+chelp.over4=Det f\u00F8lgende billede viser en gruppeliste med 3 personer med forskellige tilg\u00E6ngelighedsstatus.
+chelp.over7=For at starte med at chatte med en af de tilg\u00E6ngelige kontakter, klik p\u00E5 den p\u00E5g\u00E6ldende kontakt og chatten kan startes i et andet browservindue.
+chelp.rece=Modtag beskeder
+chelp.rece1=Beskeder kan modtages p\u00E5 to m\u00E5der\:
+chelp.rece2=Hvis chatvinduet ikke er \u00E5bent, beskederne vil optr\u00E6de i form af sm\u00E5 blinkede bogstaver til venstre for stjernesymbolet i menuen.
+chelp.rece3=Ved at klikke p\u00E5 dette symbol vil din besked fremkomme.
+chelp.rece4=Du kan svare p\u00E5 denne besked med det samme (et nyt vindue vil blive \u00E5bnet) eller slette den besked.
+chelp.rece5=Hvis chatvinduet allerede er \u00E5bent, vil nye beskeder umiddelbart blive vist i dette vindue.
+chelp.send=Send beskeder
+chelp.send1=For at sende beskeder til nogen kan du enten klikke p\u00E5 det p\u00E5g\u00E6ldende navn p\u00E5 gruppelisten eller v\u00E6lger samtalepartner fra listen af online brugere.
+chelp.send2=Ved at v\u00E6lge et navn vil et nyt browservindue blive \u00E5bnet (Bem\u00E6rk\: tillad \u00E5bning af nye browservinduer i OLAT) med $\:flashLink (Flash Player 7.X needed).
+
+
+
+
+
 #Mon Mar 02 09:54:09 CET 2009
 command.refresh=Opdater
 form.coursename=Kurset jeg arbejder p\u00E5 er synligt
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 8b14cc3934181c899fc9ea28afdf3313c972c457..9e9fb62c10bf89dcc73f483bf8350c1a142b2b40 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
@@ -1,4 +1,114 @@
 #Mon Mar 02 09:54:04 CET 2009
+close=Schliessen
+close.connections=Close connections...
+course.chat.intro=Hier k\u00F6nnen Sie mit anderen Kursteilnehmenden chatten.<br>Sie sind in diesem Chatraum anonym eingew\u00E4hlt, k\u00F6nnen jedoch auch Ihren OLAT-Benutzernamen anzeigen lassen.<br>Zum Verlassen des Chatraumes Kurs schliessen.
+course.groupchat=Chatraum\:
+coursechat.not.available.short=Chat nicht verf\u00FCgbar.
+groupchat.new.msg=Neue Nachrichten im Kurs-Chat vorhanden\!
+groupchat.not.available=Chat nicht verf\u00FCgbar.
+groupchat.roster=Teilnehmende
+im.conference.maxi.intro=Hier k\u00F6nnen Sie mit anderen Personen dieser Gruppe chatten.
+im.conference.maxi.title=Chatraum
+im.conference.participants=Zurzeit wird der Chat von folgenden Personen besucht\:
+im.refresh=Anzeige neu laden
+im.refresh.auto=Anzeige wird automatisch neu geladen.
+init.messaging=init
+msg.send=Senden
+msg.send.error=Ihre Nachricht konnte nicht gesendet werden. Bitte starten Sie den Kurs neu, um es nochmals zu versuchen.
+nobody=niemand
+openChat=Chatraum betreten
+toogle.anonymous=Eigenen Namen im Chatraum anzeigen
+update.roster=update
+
+
+im.conference.assessment.open=Schliessen Sie zuerst alle Tests, um den Chatraum betreten zu können.
+click.to.join=Kurs-Chat verbinden
+course.chat.click.to.join=Im Kurs-Chat k\u00F6nnen Sie Nachrichten an andere Kursteilnehmende senden und empfangen.
+participants.in.chat=Kurs-Chat betreten ({0})
+coursechat.not.available=Der Kurs-Chat ist momentan nicht verf\u00FCgbar. Bitte versuchen Sie es sp\u00E4ter nochmals.
+chat.not.available.now=Der Chat ist momentan nicht verf\u00FCgbar. Versuchen Sie es sp\u00E4ter wieder.
+
+
+
+#Mon Mar 02 09:54:04 CET 2009
+chat.with.yourself=Wollen Sie wirklich mit sich selber chatten?
+chelp.add=Kontakte der Gruppenliste verwalten
+chelp.add1=Kontakte k\u00F6nnen \u00FCber die <i>$org.olat.group.ui\:LearningGroup</i> von OLAT hinzugef\u00FCgt oder entfernt werden.
+chelp.add2=Sofern Sie Besitzer oder Besitzerin einer <i>$org.olat.group.ui\:LearningGroup</i> sind, k\u00F6nnen Sie Mitbesitzer oder Teilnehmer in Ihre Gruppe ein- oder ausladen.
+chelp.add3=Diese Personen erscheinen dann auf Ihrer Gruppenliste im Chat.
+chelp.chan1=Den eigenen Status k\u00F6nnen Sie wechseln, indem Sie auf das Sternsymbol klicken und einen der aufgef\u00FChrten Status ausw\u00E4hlen.
+chelp.chan2=Bei geschlossener Gruppenliste zeigt die Angabe (3/6) neben dem Stern-Symbol an, wie viele Ihrer Bekannten zurzeit in OLAT eingeloggt und verf\u00FCgbar sind.
+chelp.chan3=Durch Klicken wird die ganze Gruppenliste mit Namen und Status Ihrer Bekannten sichtbar.
+chelp.client=Mit einem externen Instant-Messaging-Programm chatten
+chelp.client1=Wenn Sie mit einem externen Instant-Messaging-Programm chatten m\u00F6chten, finden Sie die notwendigen Angaben in Ihrem "Home" unter "Einstellungen", "Instant-Messaging". 
+chelp.group=Einem Gruppenchat beitreten
+chelp.group1=An verschiedenen Orten in OLAT gibt es Chatr\u00E4ume (z.B. <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Klicken Sie auf den Link <i>Chatraum betreten</i>.
+chelp.group3=Ein Chatfenster geht auf und Sie betreten den Gruppen-Chat.
+chelp.group4=Nachrichten an einen Chatraum werden an alle Personen im Raum gesendet.
+chelp.group5=Die Liste der Teilnehmer ist neben dem Chatfenster ersichtlich.
+chelp.group6=Falls Sie den Raum wieder verlassen m\u00F6chten, schliessen Sie das Fenster.
+chelp.imgAlt1=Ansicht einer Gruppenliste mit Kontakten in verschiedenen Status
+chelp.instant-messenger.title=Instant-Messaging: Funktionen
+chelp.over=\u00DCberblick
+chelp.over1=Instant-Messaging (IM) erlaubt den Austausch von Nachrichten mit Personen in Echtzeit - das sogenannte "Chatten".
+chelp.over2=Wichtig ist dabei die Information \u00FCber die Verf\u00FCgbarkeit von potentiellen Chatpartnern.
+chelp.over3=Diese Information liefert die sogenannte "Buddies"-Liste.
+chelp.over4=Wenn Sie mit dem Mauszeiger ĂĽber die Namen der Chatpartner fahren, wird der jeweilige Status angezeigt.
+chelp.over7=Um mit einem der verf\u00FCgbaren Kontakte einen Chat zu starten, klicken Sie auf den gew\u00FCnschten Kontakt und der Chat wird in einem Chatfenster gestartet.
+chelp.rece=Nachrichten empfangen
+chelp.rece1=Nachrichten k\u00F6nnen auf zwei Arten empfangen werden\:
+chelp.rece2=Falls das Chatfenster nicht offen ist, erscheinen die Nachrichten als blinkendes Briefchen links neben dem Sternsymbol in der Menuzeile.
+chelp.rece3=Wenn Sie auf dieses Symbol klicken, so erscheint die Nachricht.
+chelp.rece4=Ein Chatfenster geht auf und Sie k\u00F6nnen auf diese Nachricht antworten.
+chelp.rece5=Wenn das Chatfenster bereits offen ist, so werden neue Nachrichten dort angezeigt.
+chelp.send=Nachrichten senden
+chelp.send1=Um Nachrichten an eine Person zu senden, klicken Sie auf den Namen der Person in der Gruppenliste.
+chelp.send2=Durch das Ausw\u00E4hlen wird ein Chatfenster ge\u00F6ffnet.
+close=Schliessen
+help.hover.im=Hilfe zu den Instant-Messaging-Funktionen
+help.hover.imsettings=Hilfe zur Konfiguration des Instant-Messaging
+im.buddies=Buddies
+im.chat=Chat
+im.chat.disabled=Chat ausgeschaltet. W\u00E4hrend einem Test k\u00F6nnen Sie keine Nachrichten empfangen.
+im.chat.windows.may.invalid=Laufende Chats wurden beendet, bitte schliessen Sie allf\u00E4llige Chatfenster.
+im.chat.with=Chat mit
+im.error.connection=Instant-Messaging ist momentan nicht verf\u00FCgbar.
+im.hide.groups=Verberge Gruppen
+im.hide.offline.buddies=Verberge offline Kontakte
+im.new.message=Sie haben eine neue Nachricht von: {0}
+im.new.message.short=Neue Chat Nachricht...
+im.new.message.other=Neue Nachricht von anderer Person\: <b>{0}</b>. Nachricht\: <b>{1}</b>. Chat geht weiter mit\: {2}.
+im.others.connected=Personen sind online
+im.refresh=Anzeige neu laden
+im.roster.intro=Welche meiner Bekannten aus meinen Gruppen sind in OLAT eingeloggt?<br>W\u00E4hlen Sie eine Person aus, mit der Sie chatten m\u00F6chten.
+im.show.groups=Zeige Gruppen
+im.show.offline.buddies=Zeige offline Kontakte
+im.start.chat=Klicke, um Chat zu starten.
+im.status=Status\:
+im.status.change=Status wechseln
+im.status.change.long=Instant-Messaging-Status wechseln
+im.status.msg=Status Msg\:
+new.status=Neuer Status\:
+presence.available=Verf\u00FCgbar
+presence.away=Abwesend
+presence.chat=Ich m\u00F6chte chatten
+presence.dnd=Bitte nicht st\u00F6ren
+presence.offline=Nicht verf\u00FCgbar
+presence.unavailable=Nicht verf\u00FCgbar
+presence.xa=L\u00E4nger abwesend
+refresh=refresh
+rosterClose=close
+start.chat.with=Chat wird gestartet mit\: <b>{0}</b>
+
+
+
+
+
+
+
+
+
 command.refresh=Aktualisieren
 form.coursename=Sichtbar, welchen Kurs ich bearbeite
 form.defaultstatus=Nach dem Einloggen ist mein Status
@@ -9,7 +119,7 @@ guestnoaccess.title=Kein Zugang f\u00FCr G\u00E4ste
 help.hover.im=Hilfe zu den Instant-Messaging-Funktionen
 help.hover.imsettings=Hilfe, um das Instant-Messaging zu konfigurieren
 help.hover.imsettings-roster=Hilfe, um den Status nach dem Einloggen im Instant-Messaging zu bestimmen
-
+enabled=Ein
 im.buddies=Buddies
 im.buddies.online=Welche meiner Bekannten sind online? Starte Chat mit...
 im.client.start=IM-Client starten
@@ -37,6 +147,14 @@ im.message.folowchat.linktext=Starten
 im.message.from=Nachricht von\:
 im.message.sendtime=Gesendet am\:
 im.message.subject=Titel\:
+im.module.enable.title=Instant messaging
+im.module.enabled=Instant Messaging einschalten
+im.module.options.title=Einstellungen
+im.module.enabled.group=Group Chat
+im.module.enabled.course=Kurs Chat
+im.module.enabled.private=Private chat / messages
+im.module.enabled.onlineusers=Chat with any online users
+im.module.enabled.grouppeers=Chat with any of my group peers
 im.others.connected=Personen sind online
 im.show.groups=Zeige Gruppen
 im.show.offline.buddies=Zeige offline Kontakte
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_el.properties
index 75983cfb6bc089feb86d78ab533e9cddabd2eda7..928fa2169ec6e604a6ebbea236c9dc56476a09fb 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_el.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_el.properties
@@ -1,3 +1,106 @@
+#Mon Aug 30 14:14:39 CEST 2010
+click.to.join=\u0395\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2 \u03C3\u03C4\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2...
+close=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
+close.connections=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03B5\u03C9\u03BD...
+course.chat.click.to.join=\u03A3' \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C3\u03C4\u03B5\u03AF\u03BB\u03B5\u03C4\u03B5 \u03BA\u03B1\u03B9 \u03BD\u03B1 \u03BB\u03AC\u03B2\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03C3\u03B5 \u03AC\u03BB\u03BB\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2.
+course.chat.intro=\u0395\u03B4\u03CE \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03BC\u03B5 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03AC\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1.&lt;br /&gt;\u0395\u03AF\u03C3\u03C4\u03B5 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9 \u03B1\u03BD\u03CE\u03BD\u03C5\u03BC\u03B1. \u03A0\u03B1\u03C1\u03CC\u03BB\u03B1 \u03B1\u03C5\u03C4\u03AC, \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03C0\u03BF\u03C6\u03B1\u03C3\u03AF\u03C3\u03B5\u03C4\u03B5 \u03B1\u03BD\u03C4' \u03B1\u03C5\u03C4\u03BF\u03CD \u03C4\u03BF \u03CC\u03BD\u03BF\u03BC\u03B1 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7 \u03C4\u03BF\u03C5 OLAT.
+course.groupchat=Chatroom\:
+coursechat.not.available=\u03A4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BE\u03B1\u03BD\u03B1\u03C0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5 \u03B1\u03C1\u03B3\u03CC\u03C4\u03B5\u03C1\u03B1.
+coursechat.not.available.short=\u03A4\u03BF Chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF.
+groupchat.new.msg=\u039D\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03C3\u03C4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2\!
+groupchat.not.available=\u03A4\u03BF Chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF.
+groupchat.roster=\u03A3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2
+im.conference.maxi.intro=\u0395\u03B4\u03CE \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AE\u03C3\u03B5\u03C4\u03B5 \u03BC\u03B5 \u03AC\u03BB\u03BB\u03B1 \u03BC\u03AD\u03BB\u03B7 \u03C4\u03B7\u03C2 \u03BF\u03BC\u03AC\u03B4\u03B1\u03C2.
+im.conference.maxi.title=Chatroom
+im.conference.participants=\u0391\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE \u03BF\u03B9 \u03B1\u03BA\u03CC\u03BB\u03BF\u03C5\u03B8\u03BF\u03B9 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B5\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03BF\u03CD\u03BD \u03B1\u03C5\u03C4\u03CC \u03C4\u03BF chat\:
+im.refresh=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7 \u03C0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE\u03C2
+im.refresh.auto=\u0397 \u03C0\u03C1\u03BF\u03B2\u03BF\u03BB\u03AE \u03B8\u03B1 \u03B1\u03BD\u03B1\u03BD\u03B5\u03CE\u03BD\u03B5\u03C4\u03B1\u03B9 \u03B1\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B1.
+msg.send=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE
+msg.send.error=\u03A4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03AC \u03C3\u03B1\u03C2 \u03B4\u03B5\u03BD \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B5 \u03BD\u03B1 \u03C3\u03C4\u03B1\u03BB\u03B5\u03AF. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B5\u03C0\u03B1\u03BD\u03B5\u03BA\u03BA\u03B9\u03BD\u03AE\u03C3\u03C4\u03B5 \u03C4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1 \u03BA\u03B1\u03B9 \u03BE\u03B1\u03BD\u03B1\u03C0\u03C1\u03BF\u03C3\u03C0\u03B1\u03B8\u03AE\u03C3\u03C4\u03B5.
+nobody=\u039A\u03B1\u03BD\u03B5\u03AF\u03C2
+openChat=\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03C3\u03C4\u03BF chatroom
+participants.in.chat=\u039C\u03AD\u03C3\u03B1 \u03C3\u03C4\u03BF chat \u03C4\u03BF\u03C5 \u03BC\u03B1\u03B8\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
+toogle.anonymous=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BF\u03BD\u03CC\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7 \u03C3\u03C4\u03BF chatroom
+update.roster=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7
+
+
+
+
+
+
+
+#Wed Jul 28 13:33:32 CEST 2010
+chat.with.yourself=\u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03AC \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03BC\u03B5 \u03C4\u03BF\u03BD \u03B5\u03B1\u03C5\u03C4\u03CC \u03C3\u03B1\u03C2;
+chelp.add=\u039F\u03BC\u03AC\u03B4\u03B1 \u03B4\u03B9\u03B1\u03C7\u03B5\u03AF\u03C1\u03B9\u03C3\u03B7\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2 \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
+chelp.add1=\u0395\u03C0\u03B1\u03C6\u03AD\u03C2 \u03BC\u03C0\u03BF\u03C1\u03BF\u03CD\u03BD \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03C4\u03B5\u03B8\u03BF\u03CD\u03BD \u03AE \u03BD\u03B1 \u03B1\u03C6\u03B1\u03B9\u03C1\u03B5\u03B8\u03BF\u03CD\u03BD \u03BC\u03AD\u03C3\u03C9 \u03C4\u03B7\u03C2 <i>$org.olat.group.ui\:LearningGroup</i> \u03C4\u03BF\u03C5 OLAT.
+chelp.add2=\u0394\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03CC\u03C4\u03B9 \u03B5\u03AF\u03C3\u03C4\u03B5 \u03BF \u03BA\u03AC\u03C4\u03BF\u03C7\u03BF\u03C2 \u03C4\u03B7\u03C2 <i>$org.olat.group.ui\:LearningGroup</i> \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03BA\u03B1\u03BB\u03AD\u03C3\u03B5\u03C4\u03B5 \u03AE \u03CC\u03C7\u03B9 \u03BA\u03BF\u03B9\u03BD\u03BF\u03CD\u03C2 \u03BA\u03B1\u03C4\u03CC\u03C7\u03BF\u03C5\u03C2 \u03AE \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B1 \u03C3\u03B1\u03C2.
+chelp.add3=\u0391\u03C5\u03C4\u03AC \u03C4\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03BF\u03CD\u03BD \u03C3\u03C4\u03B7 \u03C3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B9\u03BA\u03AE \u03C3\u03B1\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1 \u03C4\u03BF\u03C5 OLAT chat.
+chelp.chan1=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03BB\u03BB\u03AC\u03BE\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03AE \u03C3\u03B1\u03C2 \u03BA\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03BF \u03C3\u03CD\u03BC\u03B2\u03BF\u03BB\u03BF-\u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF \u03C0\u03C1\u03B9\u03BD \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03C4\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B5\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2.
+chelp.chan2=\u038C\u03C4\u03B1\u03BD \u03B7 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03C0\u03B5\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7, \u03B7 \u03AD\u03BD\u03B4\u03B5\u03B9\u03BE\u03B7 (3/6) \u03B4\u03AF\u03C0\u03BB\u03B1 \u03C3\u03C4\u03BF\u03BD \u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF \u03C3\u03AC\u03C2 \u03BB\u03AD\u03B5\u03B9 \u03C0\u03CC\u03C3\u03BF\u03B9 \u03B1\u03C0\u03CC \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03BF\u03C5\u03C2 \u03C3\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9 \u03BA\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF\u03B9 \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE.
+chelp.chan3=\u039A\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03B7 \u03BB\u03AF\u03C3\u03C4\u03B1, \u03BF\u03BB\u03CC\u03BA\u03BB\u03B7\u03C1\u03B7 \u03B7 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BF\u03C1\u03B1\u03C4\u03AE, \u03C3\u03C5\u03BC\u03C0\u03B5\u03C1\u03B9\u03BB\u03B1\u03BC\u03B2\u03B1\u03BD\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD \u03BA\u03B1\u03B9 \u03C4\u03C9\u03BD \u03BF\u03BD\u03BF\u03BC\u03AC\u03C4\u03C9\u03BD \u03BA\u03B1\u03B9 \u03C4\u03B7\u03C2 \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 \u03C4\u03C9\u03BD \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03C9\u03BD \u03C3\u03B1\u03C2.
+chelp.client=\u039A\u03AC\u03BD\u03C4\u03B5 chat \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C0\u03C1\u03CC\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1 \u03C4\u03BF\u03C5 Instant Messaging
+chelp.client1=\u0391\u03BD \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC \u03C0\u03C1\u03CC\u03B3\u03C1\u03B1\u03BC\u03BC\u03B1 Instant Messaging, \u03B8\u03B1 \u03B2\u03C1\u03B5\u03AF\u03C4\u03B5 \u03C7\u03C1\u03AE\u03C3\u03B9\u03BC\u03B5\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03C3\u03C4\u03B7\u03BD "\u0391\u03C1\u03C7\u03B9\u03BA\u03AE \u03A3\u03B5\u03BB\u03AF\u03B4\u03B1" \u03C3\u03B1\u03C2, \u03C3\u03C4\u03BF \u03C4\u03BC\u03AE\u03BC\u03B1 "\u03A1\u03C5\u03B8\u03BC\u03AF\u03C3\u03B5\u03B9\u03C2", "Instant Messaging". 
+chelp.group=\u03A3\u03C5\u03BC\u03BC\u03B5\u03C4\u03BF\u03C7\u03AE \u03C3\u03B5 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03CC chat
+chelp.group1=\u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF\u03B9 \u03C3\u03B5 chatrooms \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03AD\u03C1\u03B7 \u03C3\u03C4\u03BF OLAT (\u03C0.\u03C7. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3\u03C4\u03BF \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF <i>\u0395\u03BA\u03BA\u03AF\u03BD\u03B7\u03C3\u03B7 chat</i>.
+chelp.group3=\u0388\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9 \u03BA\u03B1\u03B9 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03CC chat.
+chelp.group4=\u03A4\u03B1 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03C3\u03B5 \u03AD\u03BD\u03B1 chatroom \u03B1\u03C0\u03BF\u03C3\u03C4\u03AD\u03BB\u03BB\u03BF\u03BD\u03C4\u03B1\u03B9 \u03C3\u03B5 \u03CC\u03BB\u03B1 \u03C4\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03C4\u03BF \u03B4\u03C9\u03BC\u03AC\u03C4\u03B9\u03BF.
+chelp.group5=\u039C\u03B9\u03B1 \u03BB\u03AF\u03C3\u03C4\u03B1 \u03BC\u03B5 \u03CC\u03BB\u03BF\u03C5\u03C2 \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BC\u03BC\u03B5\u03C4\u03AD\u03C7\u03BF\u03BD\u03C4\u03B5\u03C2 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF \u03B4\u03AF\u03C0\u03BB\u03B1 \u03C3\u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 chat.
+chelp.group6=\u0391\u03BD \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03B5\u03BE\u03AD\u03BB\u03B8\u03B5\u03C4\u03B5 \u03B1\u03C0\u03CC \u03C4\u03BF chatroom, \u03B1\u03C0\u03BB\u03AC \u03BA\u03BB\u03B5\u03AF\u03C3\u03C4\u03B5 \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF.
+chelp.imgAlt1=\u0395\u03B9\u03BA\u03CC\u03BD\u03B1 \u03BC\u03B9\u03B1\u03C2 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2 \u03BC\u03B5 \u03B5\u03C0\u03B1\u03C6\u03AD\u03C2 \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2
+chelp.instant-messenger.title=\u039B\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B5\u03C2 \u03C4\u03BF\u03C5 Instant Messaging 
+chelp.over=\u0393\u03B5\u03BD\u03B9\u03BA\u03AE \u03B5\u03C0\u03B9\u03C3\u03BA\u03CC\u03C0\u03B7\u03C3\u03B7
+chelp.over1=\u03A4\u03BF Instant Messaging (IM) \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03B9 \u03C4\u03B7\u03BD \u03B1\u03BD\u03C4\u03B1\u03BB\u03BB\u03B1\u03B3\u03AE \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD \u03BC\u03B5 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03B5 \u03C0\u03C1\u03B1\u03B3\u03BC\u03B1\u03C4\u03B9\u03BA\u03CC \u03C7\u03C1\u03CC\u03BD\u03BF - \u03C4\u03BF \u03BB\u03B5\u03B3\u03CC\u03BC\u03B5\u03BD\u03BF "chat".
+chelp.over2=\u039F\u03B9 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03B3\u03B9\u03B1 \u03C4\u03B7 \u03B4\u03B9\u03B1\u03B8\u03B5\u03C3\u03B9\u03BC\u03CC\u03C4\u03B7\u03C4\u03B1 \u03C0\u03B9\u03B8\u03B1\u03CE\u03BD \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03C9\u03BD \u03C3\u03C4\u03BF chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03B7\u03BC\u03B1\u03BD\u03C4\u03B9\u03BA\u03AD\u03C2.
+chelp.over3=\u039B\u03B1\u03BC\u03B2\u03AC\u03BD\u03B5\u03C4\u03B5 \u03B1\u03C5\u03C4\u03AD\u03C2 \u03C4\u03B9\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 \u03BC\u03AD\u03C3\u03C9 \u03C4\u03B7\u03C2 \u03B1\u03C0\u03BF\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5\u03BD\u03B7\u03C2 "\u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE\u03C2 \u03BB\u03AF\u03C3\u03C4\u03B1\u03C2".
+chelp.over4=\u0397 \u03B1\u03BA\u03CC\u03BB\u03BF\u03C5\u03B8\u03B7 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B4\u03B5\u03AF\u03C7\u03BD\u03B5\u03B9 \u03BC\u03B9\u03B1 \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1 \u03BC\u03B5 \u03C4\u03C1\u03AF\u03B1 \u03AC\u03C4\u03BF\u03BC\u03B1 \u03C3\u03B5 \u03B4\u03B9\u03B1\u03C6\u03BF\u03C1\u03B5\u03C4\u03B9\u03BA\u03AD\u03C2 \u03BA\u03B1\u03C4\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2.
+chelp.over7=\u0393\u03B9\u03B1 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF chat \u03BC\u03B5 \u03BC\u03AF\u03B1 \u03B1\u03C0\u03CC \u03C4\u03B9\u03C2 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B5\u03C2 \u03B5\u03C0\u03B1\u03C6\u03AD\u03C2, \u03BA\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3'\u03B1\u03C5\u03C4\u03AE \u03C4\u03B7\u03BD \u03B5\u03C0\u03B1\u03C6\u03AE \u03BA\u03B1\u03B9 \u03C4\u03BF chat \u03B8\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03B9 \u03C3\u03B5 \u03AD\u03BD\u03B1 \u03B4\u03B5\u03CD\u03C4\u03B5\u03C1\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 \u03C6\u03C5\u03BB\u03BB\u03BF\u03BC\u03B5\u03C4\u03C1\u03B7\u03C4\u03AE.
+chelp.rece=\u039B\u03AE\u03C8\u03B7 \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD
+chelp.rece1=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BB\u03AC\u03B2\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03BC\u03B5 \u03B4\u03CD\u03BF \u03C4\u03C1\u03CC\u03C0\u03BF\u03C5\u03C2\:
+chelp.rece2=\u0391\u03BD \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03C4\u03BF\u03C5 chat \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03BD\u03BF\u03B9\u03C7\u03C4\u03CC, \u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF \u03C5\u03C0\u03CC \u03BC\u03BF\u03C1\u03C6\u03AE \u03BC\u03B9\u03BA\u03C1\u03CE\u03BD \u03B3\u03C1\u03B1\u03BC\u03BC\u03AC\u03C4\u03C9\u03BD \u03C0\u03BF\u03C5 \u03B1\u03BD\u03B1\u03B2\u03BF\u03C3\u03B2\u03AE\u03BD\u03BF\u03C5\u03BD \u03C3\u03C4\u03B1 \u03B1\u03C1\u03B9\u03C3\u03C4\u03B5\u03C1\u03AC \u03C4\u03BF\u03C5 \u03B1\u03C3\u03C4\u03B5\u03C1\u03AF\u03C3\u03BA\u03BF\u03C5 \u03C3\u03C4\u03BF \u03BC\u03B5\u03BD\u03BF\u03CD.
+chelp.rece3=\u039A\u03AC\u03BD\u03BF\u03BD\u03C4\u03B1\u03C2 \u03BA\u03BB\u03B9\u03BA \u03C3'\u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C3\u03CD\u03BC\u03B2\u03BF\u03BB\u03BF, \u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03AC \u03C3\u03B1\u03C2 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03B5\u03AF.
+chelp.rece4=\u039C\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03B1\u03C0\u03B1\u03BD\u03C4\u03AE\u03C3\u03B5\u03C4\u03B5 \u03B1\u03BC\u03AD\u03C3\u03C9\u03C2 \u03C3\u03C4\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 (\u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF chat \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9).
+chelp.rece5=\u0391\u03BD \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AE\u03B4\u03B7 \u03B1\u03BD\u03BF\u03B9\u03C7\u03C4\u03CC, \u03BD\u03AD\u03B1 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03B8\u03B1 \u03B5\u03BC\u03C6\u03B1\u03BD\u03B9\u03C3\u03C4\u03BF\u03CD\u03BD \u03B1\u03BC\u03AD\u03C3\u03C9\u03C2 \u03C3'\u03B1\u03C5\u03C4\u03CC \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF.
+chelp.send=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE \u03BC\u03B7\u03BD\u03C5\u03BC\u03AC\u03C4\u03C9\u03BD
+chelp.send1=\u0393\u03B9\u03B1 \u03BD\u03B1 \u03C3\u03C4\u03B5\u03AF\u03BB\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1, \u03B1\u03C0\u03BB\u03CE\u03C2 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03C3\u03B5 \u03AD\u03BD\u03B1 \u03CC\u03BD\u03BF\u03BC\u03B1 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03B1\u03B4\u03B9\u03BA\u03AE \u03BB\u03AF\u03C3\u03C4\u03B1.
+chelp.send2=\u0395\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03AD\u03BD\u03B1 \u03CC\u03BD\u03BF\u03BC\u03B1, \u03B8\u03B1 \u03B1\u03BD\u03BF\u03AF\u03BE\u03B5\u03B9 \u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF \u03B3\u03B9\u03B1 chat.
+close=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
+help.hover.im=\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03B1 \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03B7\u03C1\u03B9\u03C3\u03C4\u03B9\u03BA\u03AC \u03C4\u03BF\u03C5 Instant Messaging
+help.hover.imsettings=\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1 \u03C0\u03BF\u03C5 \u03B1\u03C6\u03BF\u03C1\u03AC \u03C4\u03B7\u03BD \u03C0\u03B1\u03C1\u03B1\u03BC\u03B5\u03C4\u03C1\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C4\u03BF\u03C5 Instant Messaging
+im.buddies=\u03A6\u03AF\u03BB\u03BF\u03B9
+im.chat=Chat
+im.chat.disabled=\u03A4\u03BF Chat \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03C0\u03B5\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03BF. \u039A\u03B1\u03C4\u03AC \u03C4\u03B7 \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1 \u03B5\u03BD\u03CC\u03C2 \u03C4\u03B5\u03C3\u03C4 \u03B4\u03B5\u03BD \u03B8\u03B1 \u03BC\u03C0\u03BF\u03C1\u03B5\u03AF\u03C4\u03B5 \u03BD\u03B1 \u03BB\u03B1\u03BC\u03B2\u03AC\u03BD\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1.
+im.chat.windows.may.invalid=\u038C\u03BB\u03B1 \u03C4\u03B1 \u03C4\u03C1\u03AD\u03C7\u03BF\u03BD\u03C4\u03B1 chats \u03C4\u03B5\u03C1\u03BC\u03B1\u03C4\u03AF\u03C3\u03C4\u03B7\u03BA\u03B1\u03BD. \u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BA\u03BB\u03B5\u03AF\u03C3\u03C4\u03B5 \u03C4\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF(\u03B1) \u03C4\u03BF\u03C5 chat.
+im.chat.with=Chat \u03BC\u03B5
+im.error.connection=\u03A4\u03BF Instant Messaging \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF \u03B1\u03C5\u03C4\u03AE \u03C4\u03B7 \u03C3\u03C4\u03B9\u03B3\u03BC\u03AE
+im.hide.groups=\u0391\u03C0\u03CC\u03BA\u03C1\u03C5\u03C8\u03B7 \u03BF\u03BC\u03AC\u03B4\u03C9\u03BD
+im.hide.offline.buddies=\u0391\u03C0\u03CC\u03BA\u03C1\u03C5\u03C8\u03B7 \u03BC\u03B7 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03C9\u03BD \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
+im.new.message=\u0388\u03C7\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03BD\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1.
+im.new.message.other=\u039D\u03AD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1 \u03B1\u03C0\u03CC \u03AC\u03BB\u03BB\u03BF \u03AC\u03C4\u03BF\u03BC\u03BF\: <b>{0}</b>. \u039C\u03AE\u03BD\u03C5\u03BC\u03B1\: <b>{1}</b>. \u03A4\u03BF Chat \u03C3\u03C5\u03BD\u03B5\u03C7\u03AF\u03B6\u03B5\u03B9 \u03BC\u03B5\: {2}.
+im.new.message.short=\u039D\u03AD\u03BF \u03B5\u03B9\u03C3\u03B5\u03C1\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1...
+im.others.connected=\u039F\u03B9 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B5\u03C2 \u03C4\u03BF\u03C5 OLAT \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03B9
+im.refresh=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03B1\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7\u03C2
+im.roster.intro=\u03A0\u03BF\u03B9\u03BF\u03C2 \u03AC\u03BB\u03BB\u03BF\u03C5\u03C2 \u03B1\u03C0\u03CC \u03C4\u03BF\u03C5\u03C2 \u03C3\u03C5\u03BD\u03B1\u03B4\u03AD\u03BB\u03C6\u03BF\u03C5\u03C2 \u03BC\u03BF\u03C5 \u03C3\u03C4\u03B7\u03BD \u03BF\u03BC\u03AC\u03B4\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03C2 \u03C3\u03C4\u03BF OLAT?<br />\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03AC\u03C4\u03BF\u03BC\u03BF, \u03BC\u03B5 \u03C4\u03BF \u03BF\u03C0\u03BF\u03AF\u03BF \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03B5\u03C4\u03B5 chat.
+im.show.groups=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BF\u03BC\u03AC\u03B4\u03C9\u03BD
+im.show.offline.buddies=\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7 \u03BC\u03B7 \u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03C9\u03BD \u03B5\u03C0\u03B1\u03C6\u03CE\u03BD
+im.start.chat=\u039A\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03B5\u03B4\u03CE \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF chat.
+im.status=\u039A\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\:
+im.status.change=\u0391\u03BB\u03BB\u03B1\u03B3\u03AE \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 
+im.status.change.long=\u0391\u03BB\u03BB\u03B1\u03B3\u03AE \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\u03C2 Instant Messaging 
+im.status.msg=\u039A\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03BF\u03C2\:
+new.status=\u039D\u03AD\u03B1 \u03BA\u03B1\u03C4\u03AC\u03C3\u03C4\u03B1\u03C3\u03B7\:
+presence.available=\u0394\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF
+presence.away=\u0391\u03C0\u03CE\u03BD
+presence.chat=\u0398\u03B1 \u03AE\u03B8\u03B5\u03BB\u03B1 \u03BD\u03B1 \u03BA\u03AC\u03BD\u03C9 chat
+presence.dnd=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BC\u03B7\u03BD \u03B5\u03BD\u03BF\u03C7\u03BB\u03B5\u03AF\u03C4\u03B5
+presence.offline=\u0395\u03BA\u03C4\u03CC\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2
+presence.unavailable=\u039C\u03B7 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF
+presence.xa=\u0391\u03C0\u03CE\u03BD \u03B3\u03B9\u03B1 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03BF \u03C7\u03C1\u03CC\u03BD\u03BF
+refresh=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7
+rosterClose=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
+start.chat.with=\u03A4\u03BF Chat \u03B8\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03B5\u03B9 \u03BC\u03B5\: <b>{0}</b>
+
+
 #Tue Mar 09 16:00:58 CET 2010
 command.refresh=\u0395\u03BD\u03B7\u03BC\u03AD\u03C1\u03C9\u03C3\u03B7
 form.coursename=\u03A4\u03BF \u03BC\u03AC\u03B8\u03B7\u03BC\u03B1 \u03C3\u03C4\u03BF \u03BF\u03C0\u03BF\u03AF\u03BF \u03B5\u03C1\u03B3\u03AC\u03B6\u03BF\u03BC\u03B1\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BF\u03C1\u03B1\u03C4\u03CC
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 204c9eda039527a619d9cac2adb088ac60ac8931..67767251fe213e0afb95c2769249031b5b92671a 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
@@ -1,3 +1,112 @@
+#Sun Jan 23 12:56:27 CET 2011
+chat.not.available.now=This chat is temporarily unavailable. Please try again later.
+click.to.join=Connect to course chat
+close=Close
+close.connections=Close connections...
+course.chat.click.to.join=In this course chat you can send other course participants a message as well as receive one.
+course.chat.intro=Here you can chat with people who are currently editing this course.<br>You are logged on anonymously. However, you can decide to use your OLAT user name instead.<br>If you want to leave just close your course.
+course.groupchat=Chatroom\:
+coursechat.not.available=The course chat is currently not available. Please try again later.
+coursechat.not.available.short=Chat not available.
+groupchat.new.msg=New message in course chat\!
+groupchat.not.available=Chat not available.
+groupchat.roster=Participants
+im.conference.assessment.open=Please close all tests before entering a chat room.
+im.conference.maxi.intro=Here you can chat with other members of this group.
+im.conference.maxi.title=Chatroom
+im.conference.participants=At the moment the following people use this chat\:
+im.refresh=Refresh display
+im.refresh.auto=Display will be reloaded automatically.
+init.messaging=Init
+msg.send=Send
+msg.send.error=Your message could not be sent. Please relaunch this course to try again.
+nobody=Nobody
+openChat=Enter chatroom
+participants.in.chat=Enter course chat ({0})
+toogle.anonymous=Show user name in chatroom
+update.roster=Update
+
+
+
+
+
+
+
+
+#Sun Jan 23 13:05:41 CET 2011
+chat.partner.signed.off=[has logged off]
+chat.with.yourself=Do you really want to chat with yourself?
+chelp.add=Manage group list contacts
+chelp.add1=Contacts can be added or removed via the <i>$org.olat.group.ui\:LearningGroup</i> of OLAT.
+chelp.add2=Provided that you are the owner of a <i>$org.olat.group.ui\:LearningGroup</i> you can invite or disinvite joint owners or participants to your group.
+chelp.add3=These persons will then appear on your group list of the OLAT chat.
+chelp.chan1=You can change your own status by clicking on the star symbol before selecting one of the available statuses.
+chelp.chan2=When the group list is deactivated the indication (3/6) next to the star symbol tells you how many of your colleagues are logged on and available at the moment.
+chelp.chan3=By clicking on that list the entire group list will be visible including the names and status of your colleagues.
+chelp.client=Chat using an external Instant Messaging program
+chelp.client1=If you want to chat using an external Instant Messaging program you will find useful information in your "Home", section "Settings", "Instant Messaging". 
+chelp.group=Join a group chat
+chelp.group1=Links to chatrooms are found at different places in OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Click on the link <i>Start chat</i>.
+chelp.group3=A new window will be opened and you can start your group chat.
+chelp.group4=Messages to a chatroom are sent to all persons in that room.
+chelp.group5=A list of all participants will be displayed next to your chat window.
+chelp.group6=If you want to exit the chatroom, just close that window.
+chelp.imgAlt1=Image of a group list with contacts of different statuses
+chelp.instant-messenger.title=Instant Messaging functions
+chelp.over=Overview
+chelp.over1=Instant Messaging (IM) allows the exchange of messages with persons in real time--commonly known as "chat".
+chelp.over2=Information on the availability of potential chat partners is important.
+chelp.over3=You get this information by means of a "Buddy" list.
+chelp.over4=When moving the curser over your chat partner's name you will see his/her current status.
+chelp.over7=To begin chatting with one of the available contacts, click on that contact and the chat will be started in a chat window.
+chelp.rece=Receive messages
+chelp.rece1=Messages can be received in two ways\:
+chelp.rece2=If the chat window is not open, messages will appear in form of little blinking letters on the left of the star symbol in the menu.
+chelp.rece3=By clicking on this symbol your message will appear.
+chelp.rece4=A chat window will be opened to send your reply.
+chelp.rece5=If the chat window is already open, new messages will be immediately displayed in this window.
+chelp.send=Send messages
+chelp.send1=In order to send a message you just click on a name within the group list.
+chelp.send2=By selecting a name a new chat window will be opened.
+close=Close
+help.hover.im=Help regarding the features of Instant Messaging
+help.hover.imsettings=Help regarding the configuration of Instant Messaging
+im.buddies=Buddies
+im.chat=Chat
+im.chat.disabled=Chat deactivated. During a test you will not be able to receive messages.
+im.chat.windows.may.invalid=All ongoing chats terminated. Please close chat window(s).
+im.chat.with=Chat with
+im.error.connection=Instant Messaging is currently not available
+im.hide.groups=Hide groups
+im.hide.offline.buddies=Hide offline contacts
+im.new.message=You have a new message from\: {0}
+im.new.message.other=New message from another person\: <b>{0}</b>. Message\: <b>{1}</b>. Chat continues with\: {2}.
+im.new.message.short=New incoming message...
+im.others.connected=People are online
+im.refresh=Refresh display
+im.roster.intro=Who else from my group colleagues are logged on to OLAT?<br>Select one person you want to chat with.
+im.show.groups=Show groups
+im.show.offline.buddies=Show offline contacts
+im.start.chat=Click here to start the chat.
+im.status=Status\:
+im.status.change=Change status 
+im.status.change.long=Change Instant Messaging status 
+im.status.msg=Status msg\:
+new.status=New status\:
+presence.available=Available
+presence.away=Absent
+presence.chat=I would like to chat
+presence.dnd=Please do not disturb
+presence.offline=Offline
+presence.unavailable=Not available
+presence.xa=Absent for longer
+refresh=Refresh
+rosterClose=Close
+start.chat.with=Chat will be started with\: <b>{0}</b>
+
+
+
 #Sun Jan 23 13:08:57 CET 2011
 command.refresh=Update
 form.coursename=The course I am working on is visible
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_es.properties
index 6fba2c80a75a69f91a323753b004b9b9fefdfc0f..aab3386234dcf792599710e24353b4306ed8d481 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_es.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_es.properties
@@ -1,3 +1,108 @@
+#Mon Mar 09 05:50:23 CET 2009
+click.to.join=Entrar al chat del curso...
+close=Cerrar
+close.connections=Cerrar conexiones...
+course.chat.click.to.join=En este chat curso puede enviar  mensajes a otros participantes del curso as\u00ED como recibir.
+course.chat.intro=Aqu\u00ED puedes chatear con otros autores que est\u00E1n modificando este curso&lt;br /&gt;Estas an\u00F3nimo. Si quieres puedes mostrar tu nombre de usuario de OLAT.
+course.groupchat=Chatroom\:
+coursechat.not.available=El chat del curso no est\u00E0 disponible por el momento. Por favor intentarlo mas tarde.
+coursechat.not.available.short=Chat no est\u00E0 disponible.
+groupchat.new.msg=Nuevo mensaje en el chat del curso\!
+groupchat.not.available=Chat no est\u00E0 disponible.
+groupchat.roster=Participantes
+im.conference.maxi.intro=Aqu\u00ED puedes chatear con otros miembros de este grupo.
+im.conference.maxi.title=Chatroom
+im.conference.participants=Por el momento estas usuarios est\u00E1n usando este chat\:
+im.refresh=Actualizar vista
+im.refresh.auto=Vista actualizado autom\u00E1ticamente. 
+init.messaging=Init
+msg.send=Enviar
+msg.send.error=Tu mensaje no pod\u00EDa ser enviado. Iniciar el chat de nuevo y intentarlo otra vez.
+nobody=Nadie
+openChat=Entrar chatroom
+participants.in.chat=En el chat del curso
+toogle.anonymous=Mostrar nombre de usuario
+update.roster=Actualizar
+
+
+
+
+
+
+
+#Wed Jul 28 13:33:33 CEST 2010
+chat.with.yourself=\u00BFQuieres chatear contigo?
+chelp.add=Administrar grupos de lista de contactos
+chelp.add1=Los contactos pueden a\u00F1adirse o eliminarse mediante el <i>$org.olat.group.ui\:LearningGroup</i> de OLAT.
+chelp.add2=Si eres el propietario de un <i>$org.olat.group.ui\:LearningGroup</i> puedes invitar o rechazar la union de propietarios o participantes a tu grupo.
+chelp.add3=Estas personas aparecer\u00E1n en tu lista de grupo del chat OLAT.
+chelp.chan1=Puedes cambiar tu estado pinchando en el s\u00EDmbolo de estrella y despu\u00E9s en uno de los estados disponibles.
+chelp.chan2=(3/6) te dice cuantos compa\u00F1eros est\u00E1n conectados y disponibles en este momento.
+chelp.chan3=Pinchando en el sumario la lista de grupo completa ser\u00E1 visible incluyendo los nombres y estados de tus compa\u00F1eros.
+chelp.client=Chatear con un cliente de Mensajer\u00EDa Instant\u00E1nea externo
+chelp.client1=Si quieres usar una software externo para la Mensajer\u00EDa Instant\u00E1nea tienes todos los datos relevantes (usuario, contrase\u00F1a etc.) en "Inicio\: Opciones\: Mensajer\u00EDa Instant\u00E1nea". 
+chelp.group=Unirse a un grupo de chat
+chelp.group1=Los enlaces a las salas de chat se encuentran en diferentes lugares en OLAT (ej. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Pincha en el enlace <i>Iniciar chat</i>.
+chelp.group3=Se abrir\u00E1 una nueva ventana y podr\u00E1s entrar en el chat de grupo.
+chelp.group4=Los mensajes a la sala de chat se env\u00EDan a todas las personas que hay en esa sala.
+chelp.group5=La lista de todos los participantes se mostrar\u00E1 cerca de la ventana de mensajes.
+chelp.group6=Si quieres salir de una sala de chat, cierra la ventana.
+chelp.imgAlt1=Imagen de lista de grupo con contactos en diferentes estados
+chelp.instant-messenger.title=Funciones de Mensajer\u00EDa Instant\u00E1nea
+chelp.over=Vista R\u00E1pida
+chelp.over1=La Mensajer\u00EDa Instant\u00E1nea (MI) permite el intercambio de mensajes con personas en tiempo real - el llamado "chat".
+chelp.over2=La informaci\u00F3n sobre la disponibilidad de potenciales compa\u00F1eros de chat es importante.
+chelp.over3=Obt\u00E9n esta informaci\u00F3n mediante la llamada "lista de grupo".
+chelp.over4=La siguiente imagen muestra una lista de grupo con 3 personas en diferentes estados.
+chelp.over7=Para comenzar un chat con un contacto que est\u00E1 disponible, pincha en el contacto y el chat comenzar\u00E1 en una segunda ventana del navegador.
+chelp.rece=Recibir mensajes
+chelp.rece1=Los mensajes se pueden recibir de dos maneras\:
+chelp.rece2=Si la ventana de chat no est\u00E1 abierta, los mensajes aparecer\u00E1n en el formulario de letras peque\u00F1as parpadeantes de la izquierda del s\u00EDmbolo estrella en el men\u00FA.
+chelp.rece3=Pinchando en el s\u00EDmbolo aparecer\u00E1 tu mensaje.
+chelp.rece4=Puedes contestar a este mensaje inmediatamente (se abrir\u00E1 una nueva ventana) o eliminar el mensaje.
+chelp.rece5=Si la ventana de chat ya esta abierta, los nuevos mensajes se mostrar\u00E1n inmediatamente en esta ventana.
+chelp.send=Enviar mensajes
+chelp.send1=Para enviar mensajes a alguien puedes pinchar en el nombre concreto en la lista de grupo o seleccionar un compa\u00F1ero de la lista de todos los usuarios en l\u00EDnea.
+chelp.send2=Seleccionando un nombre se abrir\u00E1 una nueva ventana.
+close=Cerrar
+help.hover.im=Ayuda con los posibilidades del chat/IM (Instant Messaging)
+help.hover.imsettings=Ayuda con la configuraci\u00F3n del chat/IM (Instant Messaging)
+im.buddies=Buddies/Contactos
+im.chat=Chatear
+im.chat.disabled=Chat deactivado. Duranto un test/examen no puedes recibir mensajes.
+im.chat.windows.may.invalid=Todas las sesiones de chat en curso fueron terminadas. Por favor cierra la(s) ventana(s) de chat.
+im.chat.with=Chatear con
+im.error.connection=Instant Messaging/Chat no esta disponible
+im.hide.groups=Ocultar grupos
+im.hide.offline.buddies=Ocultar contactos "offline"
+im.new.message=Tienes un nuevo mensaje.
+im.new.message.other=Tienes un nuevo mensaje de\: <b>{0}</b>. Mensaje\: <b>{1}</b>. Continuar chat con\: {2}.
+im.others.connected=Usuarios OLAT conectados
+im.refresh=Actualizar ventana
+im.roster.intro=\u00BFQui\u00E9n de mis grupos est\u00E1 en l\u00EDnea en OLAT?<br />Seleccionar un usuario para empezar un nuevo chat.
+im.show.groups=Mostrar grupos
+im.show.offline.buddies=Mostrar contactos "offline"
+im.start.chat=Click para empezar un nuevo chat.
+im.status=Status\:
+im.status.change=Cambiar status 
+im.status.change.long=Cambiar Instant Messaging status 
+im.status.msg=Status mensaje\:
+new.status=Nuevo estado\:
+presence.available=Disponible
+presence.away=Ausente
+presence.chat=Me gustar\u00EDa chatear
+presence.dnd=No molestar
+presence.offline=Offline
+presence.unavailable=No disponible
+presence.xa=Ausente por tiempo
+refresh=Actualizar
+rosterClose=Cerrar
+start.chat.with=Empezar chat con\:
+
+
+
+
 #Tue Apr 28 18:01:26 CEST 2009
 command.refresh=Actualizar
 form.coursename=El curso en el que estoy trabajando es visible
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 bfb378049ada8d33deb5f5ec02dab76268a7cb72..bf498a1a5c420802fea13b53a4a1d1d7bb0ce575 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
@@ -1,3 +1,112 @@
+#Fri Jan 21 12:17:43 CET 2011
+chat.not.available.now=Le chat est actuellement indisponible. R\u00E9essayez plus tard, svp.
+click.to.join=Se connecter au chat du cours
+close=Fermer
+close.connections=Close connections...
+course.chat.click.to.join=Dans le chat du cours vous pouvez envoyer et recevoir des messages \u00E0 d'autres participants au cours.
+course.chat.intro=Ici vous pouvez converser avec d'autres personnes, qui \u00E9ditent \u00E9galement ce cours en ce moment.&lt;br /&gt; Vous \u00EAtes connect\u00E9(e) sur ce chatroom de fa\u00E7on anonyme, vous pouvez \u00E9galement afficher votre nom d'utilisateur OLAT.
+course.groupchat=Chatroom\:
+coursechat.not.available=Le chat du cours n'est pas disponible pour le moment. Veuillez essayer plus tard SVP.
+coursechat.not.available.short=Chat non disponible.
+groupchat.new.msg=Nouveau message dans le chat du cours\!
+groupchat.not.available=Chat non disponible.
+groupchat.roster=Participants
+im.conference.assessment.open=Il est n\u00E9cessaire de fermer tous les tests pour pouvoir entrer dans l'espace de chat.
+im.conference.maxi.intro=Ici vous pouvez converser avec d'autres personnes du groupe.
+im.conference.maxi.title=Chatroom
+im.conference.participants=En ce moment, les personnes suivantes participent au chat\:
+im.refresh=Rafra\u00EEchir l'affichage
+im.refresh.auto=L'affichage est rafra\u00EEchi automatiquement.
+init.messaging=init
+msg.send=Envoyer
+msg.send.error=Votre message n'a pas pu \u00EAtre envoy\u00E9. Veuillez red\u00E9marrer le cours pour r\u00E9essayer.
+nobody=personne
+openChat=Entrer dans le chatroom
+participants.in.chat=Entrer dans le chat du cours ({0})
+toogle.anonymous=Montrer nom d'utilisateur dans le chatroom
+update.roster=update
+
+
+
+
+
+
+
+
+#Fri Jan 21 12:21:13 CET 2011
+chat.partner.signed.off=[s'est d\u00E9connect\u00E9]
+chat.with.yourself=Voulez-vous vraiment chatter avec vous-m\u00EAme?
+chelp.add=G\u00E9rer les contacts dans la liste des groupes
+chelp.add1=Les contacts peuvent \u00EAtre ajout\u00E9s ou enlev\u00E9s via <i>$org.olat.group.ui\:LearningGroup</i> .
+chelp.add2=Si vous \u00EAtes propri\u00E9taire d'un <i>$org.olat.group.ui\:LearningGroup</i>, vous pouvez inviter ou exclure de votre groupe des co-propri\u00E9taires et des participants.
+chelp.add3=Ces personnes apparaissent alors dans votre liste des groupes dans le chat OLAT.
+chelp.chan1=Vous pouvez changer le propre statut en cliquant sur l'ic\u00F4ne \u00E9toile et en choisissant un des statuts propos\u00E9s.
+chelp.chan2=L'indication (3/6) montre combien de mes coll\u00E8gues sont enregistr\u00E9s et disponibles dans OLAT \u00E0 ce moment.
+chelp.chan3=En cliquant sur cette indication, toute la liste des coll\u00E8gues, avec leur nom et statut, est rendu visible.
+chelp.client=Chatter avec un logiciel de messagerie instantan\u00E9e externe
+chelp.client1=Si vous voulez chatter avec un logiciel de messagerie instantan\u00E9e externe, vous trouverez les indications n\u00E9cessaire dans "accueil", "R\u00E9glages", "Messagerie instantan\u00E9e". 
+chelp.group=Joindre un chat de groupe
+chelp.group1=Il existe diff\u00E9rents espace de chat dans diff\u00E9rents endroits de OLAT  (par ex. <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Cliquez sur le lien <i>D\u00E9marrer chat</i>.
+chelp.group3=Une nouvelle fen\u00EAtre s'ouvre et vous entrez dans le chat de groupe.
+chelp.group4=Les messages envoy\u00E9s \u00E0 un chatroom seront envoy\u00E9s \u00E0 toutes les personnes se trouvant dans cet espace.
+chelp.group5=Le liste des participants est visible \u00E0 c\u00F4t\u00E9 de la fen\u00EAtre de message.
+chelp.group6=Si vous voulez quitter le chatroom, fermez la fen\u00EAtre.
+chelp.imgAlt1=Aper\u00E7u d'une liste des groupes avec des contacts de statuts diff\u00E9rents
+chelp.instant-messenger.title=Fonctions de la messagerie instantan\u00E9e
+chelp.over=Aper\u00E7u
+chelp.over1=La messagerie instantan\u00E9e (IM) permet l'\u00E9change de messages avec d'autres personnes en temps r\u00E9el, le soi-disant "chat".
+chelp.over2=L'information importante en est la disponibilit\u00E9 des partenaires de chat potentiel(les).
+chelp.over3=Cette information est fournie par la "liste des copains".
+chelp.over4=Si vous passez avec la souris sur les noms des partenaires du chat, leur statut est affich\u00E9.
+chelp.over7=Pour commencer un chat avec un contact disponible, vous cliquez sur le contact et le chat d\u00E9marre dans une nouvelle fen\u00EAtre de navigation.
+chelp.rece=Recevoir un message
+chelp.rece1=Vous pouvez recevoir des messages de deux mani\u00E8res\:
+chelp.rece2=Si la fen\u00EAtre de chat n'est pas ouverte, les messages apparaissent comme une petite enveloppe \u00E0 c\u00F4t\u00E9 du r\u00E9sum\u00E9 de la liste des groupes.
+chelp.rece3=Si vous cliquez sur ce symboles, le message appara\u00EEt.
+chelp.rece4=Vous pouvez imm\u00E9diatement r\u00E9pondre \u00E0 ce message (une nouvelle fen\u00EAtre s'ouvrira) ou supprimer le message.
+chelp.rece5=Si la fen\u00EAtre de navigation est d\u00E9j\u00E0 ouverte, les nouveaux messages sont affich\u00E9s directement dans cette fen\u00EAtre.
+chelp.send=Envoyer un message
+chelp.send1=Pour envoyer des messages \u00E0 une personne, vous pouvez ou bien cliquer sur le nom de la personne dans la liste des groupes, ou bien vous choisissez votre partenaire dans la liste de tous les utilisateurs en ligne.
+chelp.send2=En s\u00E9lectionnant un nom, une nouvelle fen\u00EAtre s'ouvre dans votre navigateur.
+close=Fermer
+help.hover.im=Aide pour les fonctions de messagerie instantan\u00E9e
+help.hover.imsettings=Aide \u00E0 la configuration de la messagerie instantan\u00E9e
+im.buddies=Buddies
+im.chat=Chat
+im.chat.disabled=Chat d\u00E9savtiv\u00E9. Pendant un test, vous ne pouvez pas recevoir de message.
+im.chat.windows.may.invalid=Les chats en cours ont \u00E9t\u00E9 termin\u00E9s, veuillez fermer les fen\u00EAtres de chat en question.
+im.chat.with=Chat avec
+im.error.connection=La messagerie instantan\u00E9e n'est pas \u00E0 disposition pour le moment
+im.hide.groups=Cache groupes
+im.hide.offline.buddies=Cache les contacts d\u00E9connect\u00E9s
+im.new.message=Vous avez un nouveau message.
+im.new.message.other=Nouveau message d'une personne\: <b>{0}</b>. Message\: <b>{1}</b>. Chat continue avec {2}.
+im.new.message.short=Nouveau message de chat...
+im.others.connected=utilisateurs OLAT sont en ligne
+im.refresh=Rafra\u00EEchir l'affichage
+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.show.groups=Montre groupes
+im.show.offline.buddies=Montre les contacts d\u00E9connect\u00E9s
+im.start.chat=Clique pour d\u00E9marrer le chat.
+im.status=Statut\:
+im.status.change=Changer de statut
+im.status.change.long=Changer le statut de la messagerie instantan\u00E9e
+im.status.msg=Statut Msg\:
+new.status=Nouvel statut\:
+presence.available=Disponible
+presence.away=Absent(e)
+presence.chat=Je veux bavarder
+presence.dnd=Ne pas d\u00E9ranger
+presence.offline=Indisponible
+presence.unavailable=Indisponible
+presence.xa=Absent(e) longtemps
+refresh=refresh
+rosterClose=close
+start.chat.with=chat est d\u00E9marr\u00E9 avec\:
+
+
+
 #Sat Jan 08 13:00:05 CET 2011
 command.refresh=actualiser
 form.coursename=Visible avec quel cours je travaille
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_it.properties
index da4f9af0b9b7fbeb8ce7573d02282c03cca510ba..ecbeda1983b584eb0a11bbad8e79e6f96d342717 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_it.properties
@@ -1,3 +1,116 @@
+#Wed Jan 19 10:02:30 CET 2011
+chat.not.available.now=La chat non \u00E8 attualmente disponibile. Riprovi pi\u00F9 tardi, p.f.
+click.to.join=Collegarsi alla chat di corso
+close=Chiudere
+close.connections=Close connections...
+course.chat.click.to.join=Nel chat di corso pu\u00F2 inviare e ricevere messaggi agli altri partecipanti al corso.
+course.chat.intro=Qui pu\u00F2 chattare con altre persone che stanno attualmente elaborando questo corso.&lt;br /&gt;Lei \u00E8 connessa/o anonimamente a questo ambiente chat, pu\u00F2 per\u00F2 anche mostrare il Suo nome d'utente OLAT.
+course.groupchat=Ambiente chat\:
+coursechat.not.available=La chat di corso non \u00E8 attualmente disponibile. Riprovi pi\u00F9 tardi, p.f.
+coursechat.not.available.short=Chat non disponibile.
+groupchat.new.msg=Nuovi messaggi nella chat di corso\!
+groupchat.not.available=Chat non disponibile.
+groupchat.roster=Partecipanti
+im.conference.assessment.open=\u00C8 necessario chiudere tutti i test per potere entrare nell'ambiente chat.
+im.conference.maxi.intro=Qui pu\u00F2 chattare con altre persone di questo gruppo.
+im.conference.maxi.title=Ambiente chat
+im.conference.participants=Attualmente l'ambiente chat viene frequentato dalle persone seguenti\:
+im.refresh=Ricaricare
+im.refresh.auto=Il ricaricamento avviene automaticamente.
+init.messaging=init
+msg.send=Invia
+msg.send.error=Non \u00E8 stato possibile inviare il Suo messaggio. Riavvii il corso e riprovi, p.f.
+nobody=nessuno
+openChat=Entra nell'ambiente chat
+participants.in.chat=Entrare nella chat di corso ({0})
+toogle.anonymous=mostrare nomi d'utente in ambiente chat
+update.roster=update
+
+
+
+
+
+
+
+
+
+
+
+#Fri Jan 21 11:49:22 CET 2011
+chat.partner.signed.off=[si \u00E8 scollegato]
+chat.with.yourself=Vuole veramente chattare con se stessa/o?
+chelp.add=Gestire i contatti della lista dei gruppi
+chelp.add1=I contatti possono venire aggiunti o eliminati attraverso il <i>$org.olat.group.ui\:LearningGroup</i> di OLAT.
+chelp.add2=Nel caso Lei sia proprietaria/o di un <i>$org.olat.group.ui\:LearningGroup</i>, pu\u00F2 invitare nel Suo gruppo o disiscrivere dal Suo gruppo altri coproprietari o partecipanti.
+chelp.add3=Queste persone compaiono in seguito nella Sua lista dei gruppi nella chat OLAT.
+chelp.chan1=\u00C8 possibile cambiare il proprio stato cliccando il simbolo a stella e selezionando in seguito uno degli stati elencati.
+chelp.chan2=L'informazione (3/6) \u00E8 un riassunto della lista dei gruppi e indica quanti dei Suoi colleghi sono attualmente connessi a OLAT e disponibili.
+chelp.chan3=Cliccando sul riassunto pu\u00F2 visualizzare la lista completa dei gruppi con i nomi e lo stato dei Suoi colleghi.
+chelp.client=Chattare con un programma di messaggeria istantanea esterno
+chelp.client1=Se desidera chattare con un programma di messaggeria istantanea esterno, pu\u00F2 trovare le informazioni necessarie nella Sua pagina iniziale sotto "Preferenze". 
+chelp.group=Entrare in una chat di gruppo
+chelp.group1=Esistono ambienti chat OLAT in diversi luoghi (ad es. <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Clicchi il link <i>Avviare chat</i>.
+chelp.group3=Si apre una nuova finestra e Lei pu\u00F2 accedere alla chat di gruppo.
+chelp.group4=I messaggi inviati a un ambiente chat vengono trasmessi a tutte le persone presenti nell'ambiente.
+chelp.group5=La lista dei partecipanti \u00E8 visibile accanto alla finestra dei messaggi.
+chelp.group6=Nel caso voglia abbandonare l'ambiente, chiuda la finestra.
+chelp.imgAlt1=Esempio di una lista dei gruppi con contatti in stato differente
+chelp.instant-messenger.title=Funzioni di messaggeria istantanea
+chelp.over=Informazioni generali
+chelp.over1=La messaggeria istantanea (MI) consente lo scambio di messaggi in tempo reale tra utenti - la cosiddetta "chat".
+chelp.over2=\u00C8 fondamentale l'informazione relativa alla disponibilit\u00E0 di potenziali partner di chat.
+chelp.over3=Questa informazione viene fornita dalla cosiddetta "Lista dei gruppi".
+chelp.over4=L'illustrazione sottostante mostra una lista dei gruppi comprendente 3 persone con stati diversi.
+chelp.over7=Per avviare una chat con i contatti disponibili, clicchi il contatto da Lei scelto\: una nuova finestra del browser Le permetter\u00E0 di chattare.
+chelp.rece=Ricevere messaggi
+chelp.rece1=Si possono ricevere messaggi in due modi\:
+chelp.rece2=Nel caso la finestra di chat non sia aperta, i messaggi appaiono in forma di piccola busta intermittente accanto al simbolo a stella nella barra del menu.
+chelp.rece3=Cliccandovi sopra, appare il messaggio.
+chelp.rece4=Pu\u00F2 subito rispondere a questo messaggio (si apre una nuova finestra) o cancellarlo.
+chelp.rece5=Se la finestra di chat \u00E8 gi\u00E0 aperta, i nuovi messaggi vi appaiono direttamente.
+chelp.send=Inviare messaggi
+chelp.send1=Per inviare un messaggio a una persona pu\u00F2 cliccare sul nome della persona nella lista dei gruppi, oppure selezionare il Suo partner di chat dalla lista comprendente tutti gli utenti attualmente online.
+chelp.send2=Si aprir\u00E0 quindi una nuova finestra.
+close=Chiudi
+help.hover.im=Aiuto per le funzioni di messaggeria istantanea
+help.hover.imsettings=Aiuto per la configurazione della messaggeria istantanea
+im.buddies=Buddies
+im.chat=Chat
+im.chat.disabled=Chat disabilitato. Durante un test non pu\u00F2 ricevere messaggi.
+im.chat.windows.may.invalid=Le chat in corso sono state terminate, chiuda le eventuali finestre chat, p.f.
+im.chat.with=Chat con
+im.error.connection=La messaggeria istantanea non \u00E8 attualmente disponibile
+im.hide.groups=Nascondere gruppi
+im.hide.offline.buddies=Nascondere contatti offline
+im.new.message=Nuovo messaggio in attesa.
+im.new.message.other=Nuovo messaggio da un'altra persona\: <b>{0}</b>. Messaggio\: <b>{1}</b>. Chat prosegue con\: {2}.
+im.new.message.short=Nuovo messaggio chat...
+im.others.connected=Utenti OLAT sono online
+im.refresh=Attualizza
+im.roster.intro=Quali tra i colleghi dei miei gruppi sono connessi a OLAT?<br />Selezioni una persona con cui desidera chattare.
+im.show.groups=Mostra gruppi
+im.show.offline.buddies=Mostra contatti offline
+im.start.chat=Clicca per avviare chat\:
+im.status=Stato\:
+im.status.change=Cambia stato
+im.status.change.long=Cambiare lo stato della messaggeria istantanea
+im.status.msg=Stato msg\:
+new.status=Nuovo stato\:
+presence.available=Disponibile
+presence.away=Assente
+presence.chat=Vorrei chattare
+presence.dnd=Non disturbare, p.f.
+presence.offline=Non disponibile
+presence.unavailable=Non disponibile
+presence.xa=Assente a lungo
+refresh=attualizza
+rosterClose=close
+start.chat.with=Avviamento chat con\: <b>{0}</b>
+
+
+
+
 #Sat Jan 08 12:56:14 CET 2011
 command.refresh=Attualizza
 form.coursename=Possibile vedere a quale corso lavoro
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_jp.properties
index 20d6329c6b022e011d2cbfe54e589fd36386eb89..84f81dfe05fe1f8224fbf5f372be9820f99cfba4 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_jp.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_jp.properties
@@ -1,3 +1,18 @@
+#Mon Jul 06 21:09:52 CEST 2009
+coursechat.not.available=\u73FE\u5728\u3001\u30B3\u30FC\u30B9\u30C1\u30E3\u30C3\u30C8\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u5F8C\u307B\u3069\u3001\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002
+toogle.anonymous=\u30E6\u30FC\u30B6\u540D\u3092\u30C1\u30E3\u30C3\u30C8\u30EB\u30FC\u30E0\u306B\u8868\u793A\u3059\u308B
+
+
+
+#Fri Jul 17 19:45:46 CEST 2009
+chelp.group5=\u3059\u3079\u3066\u306E\u53C2\u52A0\u8005\u30EA\u30B9\u30C8\u306F\u3001\u3042\u306A\u305F\u306E\u30C1\u30E3\u30C3\u30C8\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u96A3\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+im.chat.disabled=\u30C1\u30E3\u30C3\u30C8\u304C\u7121\u52B9\u5316\u3055\u308C\u307E\u3057\u305F\u3002\u30C6\u30B9\u30C8\u4E2D\u3001\u3042\u306A\u305F\u306F\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3067\u304D\u307E\u305B\u3093\u3002
+im.start.chat=\u30C1\u30E3\u30C3\u30C8\u3092\u30B9\u30BF\u30FC\u30C8\u3059\u308B\u306B\u306F\u3001\u3053\u3053\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+im.status=\u30B9\u30C6\u30FC\u30BF\u30B9\:
+im.status.change=\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u5909\u66F4\u3059\u308B
+new.status=\u65B0\u3057\u3044\u30B9\u30C6\u30FC\u30BF\u30B9\:
+
+
 #Mon Nov 01 05:53:50 CET 2010
 command.refresh=\u66F4\u65B0
 form.coursename=\u79C1\u304C\u4F5C\u696D\u3057\u3066\u3044\u308B\u30B3\u30FC\u30B9\u3092\u8868\u793A\u3059\u308B
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_lt.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_lt.properties
index 94c92f435ce4e8fe11c5808406f3f991eaeeef4f..c63ae466d447e17ab9b42cd7a5f7aa193e1dc2ee 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_lt.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_lt.properties
@@ -1,3 +1,37 @@
+#Wed Jul 28 13:33:30 CEST 2010
+chelp.add=Tvarkyti grup\u0117s s\u0105ra\u0161o kontaktus
+chelp.add1=Kontaktai gali b\u016Bti pridedami arba i\u0161trinami su <i>$org.olat.group.ui\:LearningGroup</i> OLAT.  
+chelp.add2=Jeigu j\u016Bs esate <i>$org.olat.group.ui\:LearningGroup</i> \u0161eimininkas, j\u016Bs galite pakviesti arba at\u0161aukti kvietim\u0105 prisijungusi\u0173 savinink\u0173 arba dalyvi\u0173 prie j\u016Bs\u0173 grup\u0117s.
+chelp.add3=\u0160ie asmenys atsiras j\u016Bs\u0173 grup\u0117s s\u0105ra\u0161e OLAT pokalbi\u0173 kanale.
+chelp.chan1=J\u016Bs galite keisti savo b\u016Bsen\u0105, spragtel\u0117jus ant \u017Evaig\u017Edut\u0117s simbolio prie\u0161 pasirenkant b\u016Bsen\u0105. 
+chelp.chan2=(3/6) parodo kiek i\u0161 j\u016Bs\u0173 koleg\u0173 yra \u0161iuo metu prisijung\u0119 ir pasiekiami.
+chelp.chan3=Paspaudus ant santraukos, jums bus matomas visas grup\u0117 s\u0105ra\u0161as su j\u016Bs\u0173 koleg\u0173 vardais ir j\u0173 b\u016Bsenomis.
+chelp.group=Prisijungti prie grup\u0117s pokalbi\u0173 kanalo
+chelp.group1=Nuorodos \u012F pokalbi\u0173 kanalus yra skirtinguose OLAT vietose (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Spustel\u0117kite nuorod\u0105 <i>Prad\u0117ti pokalb\u012F</i>.
+chelp.group3=Atsivers naujas langas ir jame j\u016Bs pateksite \u012F grup\u0117s pokalbi\u0173 kanal\u0105.
+chelp.group4=Pokalbi\u0173 kambaryje \u017Einut\u0117s yra i\u0161siun\u010Diamos visiems asmenims esantiems kanale.
+chelp.group5=Dalyvi\u0173 s\u0105ra\u0161as yra pateikiamas \u0161alia \u017Einut\u0117s lango.
+chelp.group6=Jeigu norite i\u0161eiti i\u0161 pokalbio kanalo papras\u010Diausiai u\u017Edarykite t\u0105 lang\u0105.
+chelp.imgAlt1=Grup\u0117s s\u0105ra\u0161o vaizdas su skirting\u0173 b\u016Bsen\u0173 kontaktais
+chelp.instant-messenger.title=Trump\u0173j\u0173 \u017Einu\u010Di\u0173 funkcijos
+chelp.over=Per\u017Ei\u016Bra
+chelp.over1=Trumposios \u017Einut\u0117s leid\u017Eia keistis informacija pokalbi\u0173 kanale su asmeniu realiuoju laiku.
+chelp.over2=Informacija apie potencial\u0173 pokalbio partner\u012F yra b\u016Btina
+chelp.over3=J\u016Bs gausite \u0161i\u0105 informacij\u0105 su taip vadinamo \u201Cgrup\u0117s s\u0105ra\u0161o\u201D pagalba.
+chelp.over4=\u0160is paveiksl\u0117lis rodo grup\u0117s s\u0105ra\u0161\u0105 su 3 asmens skirtingomis b\u016Bsenomis.
+chelp.over7=Norint prad\u0117ti susira\u0161in\u0117ti su vienu i\u0161 pasiekiam\u0173 adresat\u0173, reikia spragtel\u0117ti ant to adresato ir tuomet atsivers kitas pokalbio langas.
+chelp.rece=Gauti \u017Einut\u0119
+chelp.rece1=\u017Dinut\u0117s gali b\u016Bti gaunamos dviem b\u016Bdais\:
+chelp.rece2=Jeigu pokalbio langas yra neatidarytas, \u017Einut\u0117 pasirodys kaip ma\u017Eos mirksin\u010Dios raid\u0117s meniu  \u017Evaig\u017Ed\u0117s \u017Eenkliuko kair\u0117je pus\u0117je.
+chelp.rece3=J\u016Bs\u0173 \u017Einut\u0117 atsiras paspaudus ant \u0161io simbolio.
+chelp.rece4=J\u016Bs galite i\u0161 karto atsakyti \u012F \u0161i\u0105 \u017Einut\u0119 (atsidarys naujas langas) arba j\u0105 i\u0161trinti.
+chelp.rece5=Jei pokalbio langas jau yra atidarytas, nauja \u017Einut\u0119 i\u0161 karto pasirodys \u0161iame lange.
+chelp.send=Si\u0173sti \u017Einut\u0119
+chelp.send1=Norint  i\u0161si\u0173sti \u017Einut\u0119, reikia spragtel\u0117ti ant norimo vardo i\u0161 grup\u0117s s\u0105ra\u0161o arba  pasirinkti pa\u0161nekov\u0105 i\u0161 vis\u0173 prisijungusi\u0173 asmen\u0173  s\u0105ra\u0161o.
+
+
+
 #Mon Mar 02 09:54:02 CET 2009
 form.coursename=Kursas prie kurio a\u0161 dirbu yra matomas
 form.defaultstatus=Pagrindinis statusas po prisijungimo
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_nl_NL.properties
index 2575e663771a2051b37b39b0634c5794e390c6d3..942b6cf5b16a50fba13c9e57c82da23f8a3d2bc4 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_nl_NL.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_nl_NL.properties
@@ -1,3 +1,110 @@
+#Thu Sep 08 16:42:46 CEST 2011
+chat.not.available.now=Deze chat is tijdelijk onbereikbaar. Gelieve het later opnieuw te proberen.
+click.to.join=Verbinden naar cursus-chat
+close=Sluiten
+close.connections=Sluit verbindingen...
+course.chat.click.to.join=In deze cursus-chat kunt u andere cursisten een bericht versturen als ook zelf berichten ontvangen.
+course.chat.intro=Hier kunt u chatten met mensen die op dit moment deze curus aan het editeren zijn.<br>U bent anoniem ingelogd. Hoewel, u kunt ook kiezen om uw OLAT gebruikersnaam te gebruiken in de plaats.<br> Als u weg wilt gaan moet u gewoon de cursus sluiten.
+course.groupchat=Chatroom\:
+coursechat.not.available=De cursus-chat is tijdelijk niet beschikbaar. Gelieve het later opniuew te proberen.
+coursechat.not.available.short=Chat niet beschikbaar.
+groupchat.new.msg=Nieuw bericht in cursus-chat\!
+groupchat.not.available=Chat niet beschikbaar.
+groupchat.roster=Deelnemers
+im.conference.assessment.open=Gelieve alle testen te sluiten voor u in een chatroom binnen gaat.
+im.conference.maxi.intro=Hier kunt u chatten met andere leden van de groep.
+im.conference.maxi.title=Chatroom
+im.conference.participants=Op dit moment gebruiken de volgende personen deze chat\:
+im.refresh=Weergave vernieuwen
+im.refresh.auto=Weergave zal automatisch herladen worden.
+init.messaging=Init
+msg.send=Versturen
+msg.send.error=Uw bericht kon niet verzonden worden. Gelieve deze cursus opnieuw te lanceren om het nog eens te proberen.
+nobody=Niemand
+openChat=Chatroom betreden
+participants.in.chat=Cursus-chat ({0}) betreden
+toogle.anonymous=Toon gebruikersnaam in chatroom
+update.roster=Update
+
+
+
+
+
+
+
+#Thu Sep 08 16:42:46 CEST 2011
+chat.with.yourself=Weet u zeker dat u met uzelf wilt chatten?
+chelp.add=Groepslijst met contacten beheren
+chelp.add1=Contacten kunnen toegevoegd of verwijderd worden via de <i>$org.olat.group.ui\:LearningGroup</i> van OLAT.
+chelp.add2=Voorzien dat u de eigenaar bent van een <i>$org.olat.group.ui\:LearningGroup</i> kunt u gezamelijke eigenaars of cursisten uitnodigen of onuitnodigen tot uw groep.
+chelp.add3=Deze personen zullen dan verschijnen in uw groepslijst van de OLAT chat.
+chelp.chan1=U kunt uw eigen status veranderen door te klikken op het stersymbool voordat u op \u00E9\u00E9n van de beschikbare statussen selecteert.
+chelp.chan2=Wanneer de groepslijst gedeactiveerd is, zal de indicatie (3/6) naast het stersymbolen verschijnen om u te vertellen hoeveel collega's op dat moment ingelogd en beschikbaar zijn.
+chelp.chan3=Door op die lijst te klikken, zal de gehele groepslijst zichtbaar worden, inclusief de namen en statussen van uw collega's.
+chelp.client=Chatten met een extern Instant Messagaging programma
+chelp.client1=Als u wilt chatten met een extern Instant Messaging programma, vindt u nuttige informatie in uw "Home", sectie "Instellingen", "Instant Messaging".
+chelp.group=Een groep chat betreden
+chelp.group1=Links naar chatrooms worden gevonden op verschillende plaatsen in OLAT (b.v. <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Klik op de link  <i>Start chat</i>.
+chelp.group3=Er zal een nieuw venster openen en u kunt beginnen met uw groep chat.
+chelp.group4=Berichten in een chatroom worden verzonden naar alle personen in die chatroom.
+chelp.group5=Een lijst van alle deelnemers zal weergegeven worden naast uw chatvenster.
+chelp.group6=Als u de chatroom wilt verlaten, moet u enkel het venster sluiten.
+chelp.imgAlt1=Afbeelding van een groepslijst met contacten en verschillende statussen.
+chelp.instant-messenger.title=Instant Messaging functies
+chelp.over=Overzicht
+chelp.over1=Instant Messaging (IM) staat de uitwisseling van berichten met personen in de werkelijkheid toe -- Algemeen gekend als "chat".
+chelp.over2=Informatie over de beschikbaarheid van potenti\u00EBle chatpartners is belangrijk.
+chelp.over3=U verkrijgt deze informatie doormiddel van een "Buddy" lijst.
+chelp.over4=Wanneer u de curser over de naam van uw chatpartner beweegt, zal u zijn/haar huidige status zien.
+chelp.over7=Om te beginnen chatten met een van de beschikbare contacten, klik op die contact om te chatten en de chat zal dan beginnen in een chatvenster.
+chelp.rece=Ontvangen berichten
+chelp.rece1=Berichten kunnen op twee manieren ontvangen worden\:
+chelp.rece2=Als het chatvenster niet open is, zullen berichten verschijnen in de vorm van kleine flikkerende letters aan de linkerkant van het stersymbool in het menu.
+chelp.rece3=Door op dit symbool te klikken, zal uw bericht verschijnen.
+chelp.rece4=Een chatvenster zal geopend worden om uw antwoord te verzenden.
+chelp.rece5=Als het chatvenster al open is, zullen nieuwe berichten meteen in dit venster getoond worden.
+chelp.send=Verstuur berichten
+chelp.send1=Om een bericht te verzenden moet u gewoon klikken op een naam uit de groepslijst.
+chelp.send2=Door een naam te selecteren zal er een nieuw chatvenster openen.
+close=Sluiten
+help.hover.im=Hulp betreffende de functies van Instant Messaging
+help.hover.imsettings=Hulp betreffende de configuratie van Instant Messaging
+im.buddies=Buddies
+im.chat=Chat
+im.chat.disabled=Chat gedeactiveerd. Tijdens een test zal u geen berichten kunnen ontvangen.
+im.chat.windows.may.invalid=Alle lopende chats werden be\u00EBindigd. Gelieve de chatvensters te sluiten.
+im.chat.with=Chatten met
+im.error.connection=Instant Messaging is tijdelijk niet beschikbaar
+im.hide.groups=Verberg groepen
+im.hide.offline.buddies=Verberg offline contacten
+im.new.message=U heeft een nieuw bericht van\: {0}
+im.new.message.other=Nieuw bericht van een andere persoon\: <b>{0}</b>. Bericht\: <b>{1}</b>. Chat gaat verder met\: {2}.
+im.new.message.short=Nieuw binnenkomend bericht...
+im.others.connected=Personen zijn online
+im.refresh=Weergave verversen
+im.roster.intro=Wie van mijn collega's zijn nog ingelogd op OLAT?<br> Selecteer \u00E9\u00E9n persoon waarmee je wenst te chatten.
+im.show.groups=Toon groepen
+im.show.offline.buddies=Toon offline contacten
+im.start.chat=Klik hier om de chat te starten.
+im.status=Status\:
+im.status.change=Verander status
+im.status.change.long=Verander Instant Messaging status
+im.status.msg=Status msg\:
+new.status=Nieuwe status\:
+presence.available=Beschikbaar
+presence.away=Afwezig
+presence.chat=I zou graag chatten
+presence.dnd=Gelieve niet te storen
+presence.offline=Offline
+presence.unavailable=Niet beschikbaar
+presence.xa=Voor langere tijd afwezig
+refresh=Verversen
+rosterClose=Sluiten
+start.chat.with=Chat zal gestart worden met\: <b>{0}</b>
+
+
+
 #Thu Sep 08 16:42:46 CEST 2011
 command.refresh=Update
 form.coursename=De cursus waaraan ik aan het werken ben is zichtbaar
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 cdbd5aba270d080c16f9b56ce7e70f34d18db914..79d6d31ac88f547b828533839e8bf92aa793a7e7 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
@@ -1,3 +1,107 @@
+#Mon Mar 02 09:54:17 CET 2009
+click.to.join=Wejd\u017A do czatu kursu...
+close=Zamknij
+close.connections=Przerwij po\u0142\u0105czenia...
+course.chat.click.to.join=W czacie kursu mo\u017Cesz wysy\u0142a\u0107 i otrzymywa\u0107 wiadomo\u015Bci od pozosta\u0142ych uczestnik\u00F3w kursu.
+course.chat.intro=Tutaj mo\u017Cesz poczatowa\u0107 z u\u017Cytkownikami, kt\u00F3rzy w\u0142a\u015Bnie teraz ogl\u0105daj\u0105 ten kurs...&lt;br /&gt;Jeste\u015B zalogowany anonimowo. Mo\u017Cesz jednak zdecydowa\u0107 czy chcesz u\u017Cy\u0107 swojej nazwy u\u017Cytkownika OLAT.
+course.groupchat=Pok\u00F3j\:
+coursechat.not.available=Czat tego kursu jest chwilowo niedost\u0119pny. Spr\u00F3buj p\u00F3\u017Aniej...
+coursechat.not.available.short=Komunikator jest niedost\u0119pny.
+groupchat.new.msg=Nowa wiadomo\u015B\u0107 w pokoju czata tego kursu\!
+groupchat.not.available=Czat jest niedost\u0119pny.
+groupchat.roster=Uczestnicy
+im.conference.maxi.intro=Tutaj mo\u017Cesz poczatowa\u0107 z uczestnikami tej grupy...
+im.conference.maxi.title=Pok\u00F3j
+im.conference.participants=W tej chwili nast\u0119puj\u0105cy u\u017Cytkownicy s\u0105 w pokoju czata\:
+im.refresh=Od\u015Bwie\u017C
+im.refresh.auto=Automatyczne od\u015Bwie\u017Canie jest aktywne.
+init.messaging=Init
+msg.send=Wy\u015Blij
+msg.send.error=Twoja wiadomo\u015B\u0107 nie zosta\u0142a wys\u0142ana.
+nobody=Nikt
+openChat=Skorzystaj z komunikatora
+participants.in.chat=kursant\u00F3w na czacie
+toogle.anonymous=Poka\u017C nazw\u0119 u\u017Cytkownika
+update.roster=Aktualizacja
+
+
+
+
+
+
+#Wed Jul 28 13:33:32 CEST 2010
+chat.with.yourself=Czy naprawd\u0119 chcesz czatowa\u0107 sam ze sob\u0105?
+chelp.add=Zarz\u0105dzaj kontaktami
+chelp.add1=Kontakty mog\u0105 by\u0107 dodawane lub usuwane poprzez <i>$org.olat.group.ui\:LearningGroup</i> .
+chelp.add2=Zak\u0142adaj\u0105c, \u017Ce jeste\u015B w\u0142a\u015Bcicielem <i>$org.olat.group.ui\:LearningGroup</i>, mo\u017Cesz zaprasza\u0107 lub wyprasza\u0107 wsp\u00F3\u0142w\u0142a\u015Bcicieli lub uczestnik\u00F3w do swojej grupy.
+chelp.add3=Te osoby pojawi\u0105 si\u0119 na twojej li\u015Bcie grupy.
+chelp.chan1=Mo\u017Cesz zmieni\u0107 sw\u00F3j stan klikaj\u0105c na symbol gwiazdki i wybieraj\u0105c jeden z dost\u0119pnych stan\u00F3w.
+chelp.chan2=(3/6) informuje ci\u0119, ilu twoich koleg\u00F3w jest zalogowanych i dost\u0119pnych w danym momencie.
+chelp.chan3=Po klikni\u0119ciu na podsumowanie zobaczysz ca\u0142\u0105 list\u0119 grupy wray y naywami i stanami twoich koleg\u00F3w.
+chelp.client=Czatuj u\u017Cywaj\u0105c zawn\u0119trznego klienta komunikatora
+chelp.client1=Je\u015Bli chcesz rozmawia\u0107 u\u017Cywaj\u0105c zewn\u0119trznego komunikatora, potrzebne informacje znajdziesz na\: "Strona g\u0142\u00F3wna", w sekcji "Ustawienia", "Komunikator".
+chelp.group=Do\u0142\u0105cz do czata grupy
+chelp.group1=Linki do pokoj\u00F3w czata s\u0105 dost\u0119pne w r\u00F3\u017Cnych miejscach w OLAT (np. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Kliknij link <i>Uruchom czat</i>.
+chelp.group3=Pojawi si\u0119 nowe okno i b\u0119dziesz m\u00F3g\u0142 do\u0142\u0105czy\u0107 do czata grupy.
+chelp.group4=Wiadomo\u015Bci do ca\u0142ego pokoju czata s\u0105 wysy\u0142ane do wszystkich os\u00F3b znajduj\u0105cych si\u0119 w tym pokoju.
+chelp.group5=Lista uczestnik\u00F3w zostanie wy\u015Bwietlona obok okna wiadomo\u015Bci.
+chelp.group6=Je\u015Bli chcesz wyj\u015B\u0107 z pokoju czata, zamknij okno.
+chelp.imgAlt1=Obrazek listy grupy z kontaktami o r\u00F3\u017Cnych stanach
+chelp.instant-messenger.title=Funkcje Instant Messaging
+chelp.over=Informacje og\u00F3len
+chelp.over1=Instant Messaging (IM) umo\u017Cliwia wymian\u0119 wiadomo\u015Bci w czasie rzeczywistym- ta zwany "chat".
+chelp.over2=Informacje o dost\u0119pno\u015Bci ewentualnych partner\u00F3w na czacie jest istotna.
+chelp.over3=Uzyskujesz t\u0105 informacj\u0119 przy pomocy "listy grupy".
+chelp.over4=Poni\u017Cszy obrazek pokazuje list\u0119 grupy z trzema osobami b\u0119d\u0105cymi w innym stanie.
+chelp.over7=Aby rozpocz\u0105\u0107 czat z jednym z dost\u0119pnych kontakt\u00F3w, kliknij start na kontakcie.
+chelp.rece=Odbierz wiadomo\u015Bci
+chelp.rece1=Wiadomo\u015Bci mog\u0105 by\u0107 odebrane na dwa sposoby\:
+chelp.rece2=Je\u015Bli okno czata nie jest otwarte, wiadomo\u015Bci pojawi\u0105 si\u0119 w formie ma\u0142ych migaj\u0105cych liter po lewej stronie symbolu gwiazdki w menu.
+chelp.rece3=Po klikni\u0119ciu na tym symbolu, pojawi si\u0119 wiadomo\u015B\u0107.
+chelp.rece4=Mo\u017Cesz odpowiedzie\u0107 na t\u0105 wiadomo\u015B\u0107 od razu(otworzy si\u0119 nowe okno) lub usun\u0105\u0107 j\u0105.
+chelp.rece5=Je\u015Bli okno czata jest ju\u017C otwarte, nowe wiadomo\u015Bci zostan\u0105 wy\u015Bwietlone w tym oknie.
+chelp.send=Wy\u015Blij wiadomo\u015Bci
+chelp.send1=W celu wys\u0142ania wiadomo\u015Bci mo\u017Cesz klikn\u0105\u0107 na odpowiednim u\u017Cytkowniku na li\u015Bcie grupy lub wybra\u0107 go z listy wszystkich u\u017Cytkownik\u00F3w online.
+chelp.send2=Klikaj\u0105c na imi\u0119 uruchomisz nowe okno komunikatora.
+close=Zamknij
+help.hover.im=Pomoc do komunikatora
+help.hover.imsettings=Pomoc w konfiguracji komunikatora
+im.buddies=Kontakty
+im.chat=Czatuj
+im.chat.disabled=Komunikator jest wy\u0142\u0105czony. W trakcie trwania testu nie b\u0119dziesz otrzymywa\u0142 wiadomo\u015Bci.
+im.chat.windows.may.invalid=Wszystkie pogaw\u0119dki czatowe zosta\u0142y zako\u0144czone. Zamknij to okno.
+im.chat.with=Czat z
+im.error.connection=Komunikator jest chwilowo niedost\u0119pny.
+im.hide.groups=Ukryj grupy
+im.hide.offline.buddies=Ukryj kontakty offline
+im.new.message=Masz now\u0105 wiadomo\u015B\u0107.
+im.new.message.other=Nowa wiadomo\u015B\u0107 od\: <b>{0}</b>. Tre\u015B\u0107\: <b>{1}</b>. Czat jest kontynuowany z\: {2}.
+im.new.message.short=Nowa wiadomo\u015B\u0107 przychodz\u0105ca...
+im.others.connected=u\u017Cytkownik\u00F3w OLAT jest online
+im.refresh=Od\u015Bwie\u017C
+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.show.groups=Poka\u017C grupy
+im.show.offline.buddies=Poka\u017C kontakty offline
+im.start.chat=Kliknij tu by rozpocz\u0105\u0107 czat.
+im.status=Status\:
+im.status.change=Zmie\u0144 status
+im.status.change.long=Zmie\u0144 status komunikatora
+im.status.msg=Opis\:
+new.status=Tw\u00F3j opis\:
+presence.available=Dost\u0119pny
+presence.away=Zaraz wracam
+presence.chat=Chc\u0119 poczatowa\u0107
+presence.dnd=Jestem zaj\u0119ty
+presence.offline=Niedost\u0119pny
+presence.unavailable=Niewidoczny
+presence.xa=Wr\u00F3c\u0119 p\u00F3\u017Aniej
+refresh=Od\u015Bwie\u017C
+rosterClose=Zamknij
+start.chat.with=U\u017Cytkownik <b>{0}</b> rozpocz\u0105\u0142 czat.
+
+
+
 #Mon Mar 15 00:14:21 CET 2010
 command.refresh=Uaktualnij
 form.coursename=Kurs w kt\u00F3rym pracuj\u0119 jest widoczny
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 a593933ddcfa04b0fdf9faa3a530e422777abfda..5b13402a68c67a5ca2eafebb70a314e10e538f04 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
@@ -1,3 +1,111 @@
+#Thu Sep 08 16:42:38 CEST 2011
+chat.not.available.now=Este chat est\u00E1 temporariamente indispon\u00EDvel. Por favor, tente novamente mais tarde.
+click.to.join=Entrar no chat do curso...
+close=Fechar
+close.connections=fechar conex\u00F5es...
+course.chat.click.to.join=Neste chat do curso voc\u00EA pode enviar e receber mensagens de outros participantes.
+course.chat.intro=Aqui voc\u00EA pode conversar com pessoas que est\u00E3o editando este curso agora.&lt;br /&gt;Voc\u00EA est\u00E1 logado anonimamente. Entretanto voc~e poder\u00E1 usar seu nome de usu\u00E1rio OLAT.
+course.groupchat=Sala de Chat\:
+coursechat.not.available=O chat do curso n\u00E3o est\u00E1 dispon\u00EDvel no momento. Tentar novamente mais tarde.
+coursechat.not.available.short=Chat indispon\u00EDvel.
+groupchat.new.msg=Nova mensagem no chat do curso\!
+groupchat.not.available=Chat indispon\u00EDvel.
+groupchat.roster=Participantes
+im.conference.assessment.open=Por favor, feche todos os testes antes de entrar em uma sala de chat.
+im.conference.maxi.intro=Aqui voc\u00EA pode conversar com outros membros deste grupo.
+im.conference.maxi.title=Sala de Chat
+im.conference.participants=No momento as seguintes pessoas est\u00E3o usando este chat\:
+im.refresh=Atualizar
+im.refresh.auto=A tela ser\u00E1 recarregada automaticamente.
+init.messaging=Iniciar
+msg.send=Enviar
+msg.send.error=Sua mensagem n\u00E3o p\u00F4de ser enviada. Relance o curso e tente novamente.
+nobody=Ningu\u00E9m
+openChat=Entrar na Sala de Chat
+participants.in.chat=Chat do curso
+toogle.anonymous=Mostrar nome de usu\u00E1rio na sala de chat
+update.roster=Alterar
+
+
+
+
+
+
+#Wed Jul 28 13:33:30 CEST 2010
+chat.with.yourself=Voce realmente quer conversar consigo mesmo?
+chelp.add=Gerenciar contatos da lista de grupo 
+chelp.add1=Contatos podem ser adicionados ou removidos via o <i>$org.olat.group.ui\:LearningGroup</i> do OLAT.
+chelp.add2=Contanto que voc\u00EA seja o propriet\u00E1rio de um <i>$org.olat.group.ui\:LearningGroup</i> voc\u00EA pode convidar ou deixar de convidar propriet\u00E1rios comuns ou participantes a seu grupo. 
+chelp.add3=Estas pessoas aparecer\u00E3o ent\u00E3o na sua lista de grupo do bate-papo do OLAT. 
+chelp.chan1=Voc\u00EA pode mudar seu estado clicando no s\u00EDmbolo de estrela antes de selecionar um dos estados dispon\u00EDveis.
+chelp.chan2=(3/6) te diz quantos dos seus colegas est\u00E3o logados e est\u00E3o dispon\u00EDveis no momento.
+chelp.chan3=Clicando no sum\u00E1rio a lista de grupo inteira ser\u00E1 vis\u00EDvel incluindo os nomes e estado de seus colegas.
+chelp.client=Chat utilizando um programa de mensagem instat\u00E2nea externo
+chelp.client1=Se voc\u00EA quiser conversar usando um programa de mensagens instant\u00E2neas externo voc\u00EA vai encontrar informa\u00E7\u00F5es \u00FAteis em seu "Home", a se\u00E7\u00E3o "Configura\u00E7\u00F5es", "Instant Messaging".
+chelp.group=Juntar-se a um bate-papo de grupo
+chelp.group1=Links para salas de bate-papo s\u00E3o encontrados em diferentes lugares no OLAT (por exemplo <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> ).
+chelp.group2=Clicar no link <i>Iniciar bate-papo</i>.
+chelp.group3=Uma nova janela ser\u00E1 aberta e voc\u00EA pode entrar no bate-papo do grupo.
+chelp.group4=Mensagens para uma sala de bate-papo s\u00E3o enviadas para todas as pessoas naquela sala.
+chelp.group5=A lista de todos os participantes ser\u00E1 mostrada pr\u00F3xima a janela de mensagem.
+chelp.group6=Se voc\u00EA quer sair da sala de bate-papo, apenas feche a janela.
+chelp.imgAlt1=Imagem de uma lissta de grupo com contatos de diferentes estados 
+chelp.instant-messenger.title=Fun\u00E7\u00F5es de transfer\u00EAncia de mensagens instant\u00E2nea
+chelp.over=Vis\u00E3o geral
+chelp.over1=Transfer\u00EAncia de mensagem instant\u00E2nea (IM) permite a troca de mensagens com pessoas em tempo real - o chamado "bate-papo".
+chelp.over2=A informa\u00E7\u00E3o sobre a disponibilidade de parceiros potenciais de bate-papo \u00E9 importante.
+chelp.over3=Voc\u00EA obt\u00E9m essa informa\u00E7\u00E3o por meio da chamada "lista de grupo"
+chelp.over4=As seguintes imagens mostram uma lista de grupo com 3 pessoas em diferentes estados.
+chelp.over7=Para come\u00E7ar a conversar com um dos contatos dispon\u00EDveis, clicar naquele contato e a conversa pode ser iniciada em uma segunda janela do brownser.
+chelp.rece=Receber mensagens
+chelp.rece1=Mensagens podem recebidas de duas maneiras\:
+chelp.rece2=Se a janela de bate-papo n\u00E3o est\u00E1 aberta, as mensagens aparecer\u00E3o no formul\u00E1rio de letras pequenas na esquerda do s\u00EDmbolo de estrela no menu.
+chelp.rece3=Clicando neste s\u00EDmbolo sua mensagem aparecer\u00E1.
+chelp.rece4=Voc\u00EA pode responder a esta mensagem imediatamente (uma nova janela ser\u00E1 aberta) ou apague esta mensagem.
+chelp.rece5=Se a janela de bate-papo j\u00E1 est\u00E1 aberta, novas mensagens ser\u00E3o imediatamente mostradas nesta janela.
+chelp.send=Enviar mensagens
+chelp.send1=A fim de enviar mensagens para algu\u00E9m voc\u00EA pode tamb\u00E9m clicar no nome relevante na lista de grupo ou selecionar um parceiro da lista de todos os usu\u00E1rios online.
+chelp.send2=Selecionando um nome uma nova janela do brownser ser\u00E1 aberta.
+close=Fechar
+help.hover.im=Ajuda sobre as facilidades do Instant Messaging
+help.hover.imsettings=Ajuda para configura\u00E7\u00E3o do Instant Messaging
+im.buddies=Amigos
+im.chat=Chat
+im.chat.disabled=Chat desativado. Durante o teste voc\u00EA n\u00E3o receber\u00E1 mensagens.
+im.chat.windows.may.invalid=Todos as atuais conversas ser\u00E3o encerradas. Por Favor feche a(s) janela(s).
+im.chat.with=Chat com
+im.error.connection=O Instant Messaging n\u00E3o est\u00E1 dispon\u00EDvel no momento
+im.hide.groups=Ocultar grupos
+im.hide.offline.buddies=Ocultar contatos offline
+im.new.message=Voc\u00EA tem uma nova mensagem.
+im.new.message.other=Nova mensagem de outra pessoa\: <b>{0}</b>. Mensagem\: <b>{1}</b>. Chat continua com\: {2}.
+im.new.message.short=Nova mensagem recebida ...
+im.others.connected=usu\u00E1rios OLAT est\u00E3o online
+im.refresh=Atualizar tela
+im.roster.intro=Quem de meu grupo est\u00E1 conectado ao OLAT?<br />Selecione uma pessoa para conversar.
+im.show.groups=Mostrar grupos
+im.show.offline.buddies=Mostrar contatos offline
+im.start.chat=Clique aqui para iniciar o chat.
+im.status=Status\:
+im.status.change=Mudar status 
+im.status.change.long=Mudar status do Instant Messaging 
+im.status.msg=Status msg\:
+new.status=Novo status\:
+presence.available=Dispon\u00EDvel
+presence.away=Ausente
+presence.chat=Eu quero conversar
+presence.dnd=N\u00E3o perturbe
+presence.offline=Desconectado
+presence.unavailable=N\u00E3o dispon\u00EDvel
+presence.xa=Ausente indefinidamente
+refresh=Atualizar
+rosterClose=Fechar
+start.chat.with=Chat ser\u00E1 iniciado com\: <b>{0}</b>
+
+
+
+
+
 #Thu Sep 08 16:42:38 CEST 2011
 command.refresh=Atualizar
 form.coursename=O curso no qual eu estou trabalhando \u00E9 vis\u00EDvel
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_PT.properties
index 8ef27942b9ff60aaf803644c500dbe2b7d83d560..de254ff4409c4ca4a15d986ad3dd84dd07b2330f 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_PT.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_PT.properties
@@ -1,3 +1,104 @@
+#Mon Mar 02 09:54:05 CET 2009
+close=Fechar
+close.connections=fechar conex\u00F5es...
+course.chat.intro=Aqui voc\u00EA pode conversar com pessoas que est\u00E3o editando este curso agora.&lt;br /&gt;Voc\u00EA est\u00E1 logado anonimamente. Entretanto voc~e poder\u00E1 usar seu nome de usu\u00E1rio OLAT.
+course.groupchat=Sala de Chat\:
+coursechat.not.available=O chat do curso n\u00E3o est\u00E1 dispon\u00EDvel no momento. Tentar novamente mais tarde.
+coursechat.not.available.short=Chat indispon\u00EDvel.
+groupchat.new.msg=Nova mensagem no chat do curso\!
+groupchat.not.available=Chat indispon\u00EDvel.
+groupchat.roster=Participantes
+im.conference.maxi.intro=Aqui voc\u00EA pode conversar com outros membros deste grupo.
+im.conference.maxi.title=Sala de Chat
+im.conference.participants=No momento as seguintes pessoas est\u00E3o usando este chat\:
+im.refresh=Atualizar
+im.refresh.auto=A tela ser\u00E1 recarregada automaticamente.
+init.messaging=Iniciar
+msg.send=Enviar
+msg.send.error=Sua mensagem n\u00E3o p\u00F4de ser enviada. Relance o curso e tente novamente.
+nobody=Ningu\u00E9m
+openChat=Entrar na Sala de Chat
+participants.in.chat=Chat do curso
+toogle.anonymous=Mostrar nome de usu\u00E1rio na sala de chat
+update.roster=Alterar
+
+
+
+
+
+
+#Wed Jul 28 13:33:31 CEST 2010
+chat.with.yourself=Voce realmente quer conversar consigo mesmo?
+chelp.add=Gerenciar contatos da lista de grupo 
+chelp.add1=Contatos podem ser adicionados ou removidos via o <i>$org.olat.group.ui\:LearningGroup</i> do OLAT.
+chelp.add2=Contanto que voc\u00EA seja o propriet\u00E1rio de um <i>$org.olat.group.ui\:LearningGroup</i> voc\u00EA pode convidar ou deixar de convidar propriet\u00E1rios comuns ou participantes a seu grupo. 
+chelp.add3=Estas pessoas aparecer\u00E3o ent\u00E3o na sua lista de grupo do bate-papo do OLAT. 
+chelp.chan1=Voc\u00EA pode mudar seu estado clicando no s\u00EDmbolo de estrela antes de selecionar um dos estados dispon\u00EDveis.
+chelp.chan2=(3/6) te diz quantos dos seus colegas est\u00E3o logados e est\u00E3o dispon\u00EDveis no momento.
+chelp.chan3=Clicando no sum\u00E1rio a lista de grupo inteira ser\u00E1 vis\u00EDvel incluindo os nomes e estado de seus colegas.
+chelp.group=Juntar-se a um bate-papo de grupo
+chelp.group1=Links para salas de bate-papo s\u00E3o encontrados em diferentes lugares no OLAT (por exemplo <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i> ).
+chelp.group2=Clicar no link <i>Iniciar bate-papo</i>.
+chelp.group3=Uma nova janela ser\u00E1 aberta e voc\u00EA pode entrar no bate-papo do grupo.
+chelp.group4=Mensagens para uma sala de bate-papo s\u00E3o enviadas para todas as pessoas naquela sala.
+chelp.group5=A lista de todos os participantes ser\u00E1 mostrada pr\u00F3xima a janela de mensagem.
+chelp.group6=Se voc\u00EA quer sair da sala de bate-papo, apenas feche a janela.
+chelp.imgAlt1=Imagem de uma lissta de grupo com contatos de diferentes estados 
+chelp.instant-messenger.title=Fun\u00E7\u00F5es de transfer\u00EAncia de mensagens instant\u00E2nea
+chelp.over=Vis\u00E3o geral
+chelp.over1=Transfer\u00EAncia de mensagem instant\u00E2nea (IM) permite a troca de mensagens com pessoas em tempo real - o chamado "bate-papo".
+chelp.over2=A informa\u00E7\u00E3o sobre a disponibilidade de parceiros potenciais de bate-papo \u00E9 importante.
+chelp.over3=Voc\u00EA obt\u00E9m essa informa\u00E7\u00E3o por meio da chamada "lista de grupo"
+chelp.over4=As seguintes imagens mostram uma lista de grupo com 3 pessoas em diferentes estados.
+chelp.over7=Para come\u00E7ar a conversar com um dos contatos dispon\u00EDveis, clicar naquele contato e a conversa pode ser iniciada em uma segunda janela do brownser.
+chelp.rece=Receber mensagens
+chelp.rece1=Mensagens podem recebidas de duas maneiras\:
+chelp.rece2=Se a janela de bate-papo n\u00E3o est\u00E1 aberta, as mensagens aparecer\u00E3o no formul\u00E1rio de letras pequenas na esquerda do s\u00EDmbolo de estrela no menu.
+chelp.rece3=Clicando neste s\u00EDmbolo sua mensagem aparecer\u00E1.
+chelp.rece4=Voc\u00EA pode responder a esta mensagem imediatamente (uma nova janela ser\u00E1 aberta) ou apague esta mensagem.
+chelp.rece5=Se a janela de bate-papo j\u00E1 est\u00E1 aberta, novas mensagens ser\u00E3o imediatamente mostradas nesta janela.
+chelp.send=Enviar mensagens
+chelp.send1=A fim de enviar mensagens para algu\u00E9m voc\u00EA pode tamb\u00E9m clicar no nome relevante na lista de grupo ou selecionar um parceiro da lista de todos os usu\u00E1rios online.
+chelp.send2=Selecionando um nome uma nova janela do brownser ser\u00E1 aberta.
+close=Fechar
+help.hover.im=Ajuda sobre as facilidades do Instant Messaging
+help.hover.imsettings=Ajuda para configura\u00E7\u00E3o do Instant Messaging
+im.buddies=Amigos
+im.chat=Chat
+im.chat.disabled=Chat desativado. Durante o teste voc\u00EA n\u00E3o receber\u00E1 mensagens.
+im.chat.with=Chat com
+im.error.connection=O Instant Messaging n\u00E3o est\u00E1 dispon\u00EDvel no momento
+im.hide.groups=Ocultar grupos
+im.hide.offline.buddies=Ocultar contatos offline
+im.new.message=Voc\u00EA tem uma nova mensagem.
+im.new.message.other=Nova mensagem de outra pessoa\: <b>{0}</b>. Mensagem\: <b>{1}</b>. Chat continua com\: {2}.
+im.others.connected=usu\u00E1rios OLAT est\u00E3o online
+im.refresh=Atualizar tela
+im.roster.intro=Quem de meu grupo est\u00E1 conectado ao OLAT?<br />Selecione uma pessoa para conversar.
+im.show.groups=Mostrar grupos
+im.show.offline.buddies=Mostrar contatos offline
+im.start.chat=Clique aqui para iniciar o chat.
+im.status=Status\:
+im.status.change=Mudar status 
+im.status.change.long=Mudar status do Instant Messaging 
+im.status.msg=Status msg\:
+presence.available=Dispon\u00EDvel
+presence.away=Ausente
+presence.chat=Eu quero conversar
+presence.dnd=N\u00E3o perturbe
+presence.offline=Desconectado
+presence.unavailable=N\u00E3o dispon\u00EDvel
+presence.xa=Ausente indefinidamente
+refresh=Atualizar
+rosterClose=Fechar
+start.chat.with=Chat ser\u00E1 iniciado com\: <b>{0}</b>
+
+
+
+
+
+
+
 #Mon Mar 02 09:54:05 CET 2009
 command.refresh=Atualizar
 form.coursename=O curso no qual eu estou trabalhando \u00E9 vis\u00EDvel
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ru.properties
index 065abed2a4f83927bdf353996c4d4a0fbd16ba97..589f1976defb179ec748c314661887d857fec6ee 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ru.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_ru.properties
@@ -1,3 +1,79 @@
+#Sun Jan 24 09:02:39 CET 2010
+click.to.join=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0430\u0442 \u043A\u0443\u0440\u0441\u0430...
+close=\u0417\u0430\u043A\u0440\u044B\u0442\u044C
+close.connections=Close connections...
+course.chat.click.to.join=\u0412 \u0445\u043E\u0434\u0435 \u0447\u0430\u0442\u0430, \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0431\u043C\u0435\u043D\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u0430 \u0443\u0447\u0435\u0431\u043D\u043E\u0433\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430.
+course.chat.intro=\u0417\u0434\u0435\u0441\u044C \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0431\u0435\u0441\u0435\u0434\u043E\u0432\u0430\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0442\u0430\u043A \u0436\u0435 \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442 \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u0443\u0440\u0441 \u0432 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442. &lt;br /&gt;\u0412\u044B \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0435\u0441\u044C \u0432 \u044D\u0442\u043E\u0439 \u0447\u0430\u0442-\u043A\u043E\u043C\u043D\u0430\u0442\u0435 \u0430\u043D\u043E\u043D\u0438\u043C\u043D\u043E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u044D\u0442\u043E\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u043D\u0430 \u0412\u0430\u0448\u0435 \u0438\u043C\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0435 OLAT.
+course.groupchat=\u041A\u043E\u043C\u043D\u0430\u0442\u0430 \u0447\u0430\u0442\u0430\:
+coursechat.not.available=\u0427\u0430\u0442 \u043A\u0443\u0440\u0441\u0430 \u0432 \u0434\u0430\u043D\u043D\u044B\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u041F\u043E\u043F\u044B\u0442\u0430\u0439\u0442\u0435\u0441\u044C \u043F\u043E\u0437\u0436\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430. 
+coursechat.not.available.short=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
+groupchat.new.msg=\u0412 \u0447\u0430\u0442\u0435 \u043A\u0443\u0440\u0441\u0430 \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u043D\u043E\u0432\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\! 
+groupchat.not.available=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
+groupchat.roster=\u0423\u0447\u0430\u0441\u0442\u043D\u0438\u043A
+im.conference.maxi.intro=\u0417\u0434\u0435\u0441\u044C \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0431\u0435\u0441\u0435\u0434\u043E\u0432\u0430\u0442\u044C \u0441 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0447\u043B\u0435\u043D\u0430\u043C\u0438 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u044B.  
+im.conference.maxi.title=\u041A\u043E\u043C\u043D\u0430\u0442\u0430 \u0447\u0430\u0442\u0430
+im.conference.participants=\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0432 \u0447\u0430\u0442\u0435 \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438\: 
+im.refresh=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437 \u0437\u0430\u043D\u043E\u0432\u043E
+im.refresh.auto=\u041F\u043E\u043A\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D \u0437\u0430\u043D\u043E\u0432\u043E. 
+init.messaging=init
+msg.send=\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C
+msg.send.error=\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0431\u044B\u043B\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C. \u0427\u0442\u043E\u0431\u044B \u043F\u043E\u043F\u044B\u0442\u0430\u0442\u044C\u0441\u044F \u043E\u0442\u043E\u0441\u043B\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437, \u043E\u0442\u043A\u0440\u043E\u0439\u0442\u0435 \u043A\u0443\u0440\u0441 \u0437\u0430\u043D\u043E\u0432\u043E, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430. 
+nobody=\u043D\u0438\u043A\u043E\u0433\u043E
+openChat=\u0412\u043E\u0439\u0442\u0438 \u0432 \u043A\u043E\u043C\u043D\u0430\u0442\u0443 \u0447\u0430\u0442\u0430
+participants.in.chat=\u0432 \u043A\u0443\u0440\u0441-\u0447\u0430\u0442\u0435
+toogle.anonymous=\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u043C\u0435\u043D\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 \u0432 \u043A\u043E\u043C\u043D\u0430\u0442\u0435 \u0447\u0430\u0442\u0430 
+update.roster=update
+
+
+
+
+
+
+
+
+
+#Sun Jan 24 09:05:19 CET 2010
+chat.with.yourself=\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u043D\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0442 \u0441 \u0441\u0430\u043C\u0438\u043C \u0441\u043E\u0431\u043E\u0439? 
+close=\u0417\u0430\u043A\u0440\u044B\u0442\u044C
+help.hover.im=\u041F\u043E\u043C\u043E\u0449\u044C \u043A \u0444\u0443\u043D\u043A\u0446\u0438\u044F\u043C \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant Messaging) 
+help.hover.imsettings=\u041F\u043E\u043C\u043E\u0449\u044C \u0432 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant Messaging)
+im.buddies=\u041A\u043E\u043B\u043B\u0435\u0433\u0438
+im.chat=\u0427\u0430\u0442
+im.chat.disabled=\u0427\u0430\u0442 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u0412\u043E \u0432\u0440\u0435\u043C\u044F \u0442\u0435\u0441\u0442\u0430 \u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F. 
+im.chat.windows.may.invalid=\u0412\u0441\u0435 \u0442\u0435\u043A\u0443\u0449\u0438\u0435 \u0447\u0430\u0442\u044B \u043F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u044B. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0437\u0430\u043A\u0440\u043E\u0439\u0442\u0435 \u043E\u043A\u043D\u043E \u0447\u0430\u0442\u0430(\u043E\u0432).
+im.chat.with=\u0427\u0430\u0442 \u0441
+im.error.connection=\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 (Instant-Messaging) \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.
+im.hide.groups=\u0421\u043A\u0440\u044B\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B 
+im.hide.offline.buddies=\u0421\u043A\u0440\u044B\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0438\u0435\u0441\u044F \u0432\u043D\u0435 \u0441\u0435\u0442\u0438
+im.new.message=\u0412\u0430\u043C \u043F\u0440\u0438\u0448\u043B\u043E \u043D\u043E\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435. 
+im.new.message.other=\u041D\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\: <b>{0}</b>. \u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\: <b>{1}</b>. \u0427\u0430\u0442 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442\u0441\u044F \u0441\: {2}.
+im.new.message.short=\u041D\u043E\u0432\u043E\u0435 \u0432\u0445\u043E\u0434\u044F\u0449\u0435\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...
+im.others.connected=\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439 OLAT \u0432 \u0441\u0435\u0442\u0438
+im.refresh=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u043E\u043A\u0430\u0437 \u0437\u0430\u043D\u043E\u0432\u043E
+im.roster.intro=\u041A\u0442\u043E \u0438\u0437 \u043C\u043E\u0438\u0445 \u043A\u043E\u043B\u043B\u0435\u0433 \u043F\u043E \u0433\u0440\u0443\u043F\u043F\u0435 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OLAT?<br />\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F, \u0441 \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043D\u0430\u0447\u0430\u0442\u044C \u0447\u0430\u0442. 
+im.show.groups=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u044B 
+im.show.offline.buddies=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442\u044B, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0438\u0435\u0441\u044F \u0432\u043D\u0435 \u0441\u0435\u0442\u0438
+im.start.chat=\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442. 
+im.status=\u0421\u0442\u0430\u0442\u0443\u0441\:
+im.status.change=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 
+im.status.change.long=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 \u043C\u0435\u0441\u0441\u0435\u043D\u0434\u0436\u0435\u0440\u0430 \u043E\u0431\u043C\u0435\u043D\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F\u043C\u0438 
+im.status.msg=\u0421\u0442\u0430\u0442\u0443\u0441 Msg\:
+new.status=\u041D\u043E\u0432\u044B\u0439 \u0441\u0442\u0430\u0442\u0443\u0441\:
+presence.available=\u0412 \u0441\u0435\u0442\u0438
+presence.away=\u041D\u0435\u0442 \u043D\u0430 \u043C\u0435\u0441\u0442\u0435
+presence.chat=\u0425\u043E\u0447\u0443 \u043F\u043E\u0447\u0430\u0442\u0438\u0442\u044C\u0441\u044F
+presence.dnd=\u041D\u0435 \u0431\u0435\u0441\u043F\u043E\u043A\u043E\u0438\u0442\u044C, \u043F\u043E\u0436\u0430\u0439\u043B\u0443\u0441\u0442\u0430
+presence.offline=\u0412\u043D\u0435 \u0441\u0435\u0442\u0438
+presence.unavailable=\u041D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D
+presence.xa=\u0414\u043E\u043B\u0433\u043E \u043D\u0435 \u0431\u0443\u0434\u0435\u0442
+refresh=refresh
+rosterClose=close
+start.chat.with=\u0427\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043D\u0430\u0447\u0430\u0442 \u0441\: <b>{0}</b>
+
+
+
+
+
 #Sun Jan 24 09:06:18 CET 2010
 command.refresh=\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C
 form.coursename=\u0412\u0438\u0434\u043D\u043E, \u043A\u0430\u043A\u043E\u0439 \u043A\u0443\u0440\u0441 \u044F \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E 
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_sq.properties
index ec25f4bc2f85dc8a2157ea4e05f028d62274c678..bd62c664d9e323bea1c3ed327a304726fc5e6e18 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_sq.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_sq.properties
@@ -1,3 +1,41 @@
+#Wed Jul 28 13:33:32 CEST 2010
+chelp.add=Manage group list contacts
+chelp.add1=Contacts can be added or removed via the <i>$org.olat.group.ui\:LearningGroup</i> of OLAT.
+chelp.add2=Provided that you are the owner of a <i>$org.olat.group.ui\:LearningGroup</i> you can invite or disinvite joint owners or participants to your group.
+chelp.add3=These persons will then appear on your group list of the OLAT chat.
+chelp.chan1=You can change your own state by clicking on the star symbol before selecting one of the available states.
+chelp.chan2=When the group list is deactivated the indication (3/6) next to the star symbol tells you how many of your colleagues are logged on and available at the moment.
+chelp.chan3=By clicking on the list the entire group list will be visible including the names and state of your colleagues.
+chelp.client=Chat using an external Instant Messaging program
+chelp.client1=If you want to chat using an external Instant Messaging program you will find useful information in your "Home", section "Settings", "Instant Messaging". 
+chelp.group=Join a group chat
+chelp.group1=Links to chat rooms are found at different places in OLAT (e.g. <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=Click on the link <i>Start chat</i>.
+chelp.group3=A new window will be opened and you can start the group chat.
+chelp.group4=Messages to a chat room are sent to all persons in that room.
+chelp.group5=A list of all participants will be displayed next to the chat window.
+chelp.group6=If you want to exit the chat room, just close the window.
+chelp.imgAlt1=Image of a group list with contacts of different states
+chelp.instant-messenger.title=Instant Messaging functions
+chelp.over=Overview
+chelp.over1=Instant Messaging (IM) allows the exchange of messages with persons in real time--the so-called "chat".
+chelp.over2=Information on the availability of potential chat partners is important.
+chelp.over3=You get this information by means of the so-called "group list".
+chelp.over4=The following image shows a group list with 3 persons in different states.
+chelp.over7=To begin chatting with one of the available contacts, click on that contact and the chat can be started in a second browser window.
+chelp.rece=Receive messages
+chelp.rece1=Messages can be received in two ways\:
+chelp.rece2=If the chat window is not open, the messages will appear in the form of little blinking letters on the left of the star symbol in the menu.
+chelp.rece3=By clicking on this symbol your message will appear.
+chelp.rece4=You can respond to this message immediately (a new chat window will be opened).
+chelp.rece5=If the chat window is already open, new messages will be immediately displayed in this window.
+chelp.send=Send messages
+chelp.send1=In order to send a message you just click on a name in the group list.
+chelp.send2=By selecting a name a new browser window will be opened.
+
+
+
+
 #Mon Mar 02 09:54:11 CET 2009
 command.refresh=P\u00EBrdit\u00EBso
 form.coursename=Kursi n\u00EB t\u00EB cilin un\u00EB jam duke punuar \u00EBsht\u00EB i duksh\u00EBm
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_CN.properties
index 21e5d5f73a831caa04384ef12e5eccf54d1de5e5..3fba517456c117fa4c842780183ad36000333e1b 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_CN.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_CN.properties
@@ -1,3 +1,110 @@
+#Tue Feb 16 01:38:53 CET 2010
+click.to.join=\u8FDB\u5165\u5B66\u7A0B\u804A\u5929\u5BA4...
+close=\u5173\u95ED
+close.connections=\u65AD\u5F00\u8FDE\u63A5...
+course.chat.click.to.join=\u5728\u6B64\u5B66\u7A0B\u804A\u5929\u5BA4\u4E2D\uFF0C\u60A8\u53EF\u4EE5\u5411\u5176\u4ED6\u7684\u5B66\u7A0B\u53C2\u4E0E\u8005\u53D1\u9001\u548C\u63A5\u53D7\u6D88\u606F\u3002
+course.chat.intro=\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u4E0E\u5176\u4ED6\u6B63\u5728\u7F16\u8F91\u6B64\u5B66\u7A0B\u7684\u4EBA\u8FDB\u884C\u4EA4\u8C08\u3002<br>\u60A8\u53EF\u4EE5\u533F\u540D\u767B\u9646\u4E5F\u53EF\u4F7F\u7528\u7528\u6237\u540D\u767B\u9646\u3002<br>\u5982\u679C\u60A8\u60F3\u79BB\u5F00\uFF0C\u53EA\u9700\u5173\u95ED\u60A8\u7684\u5B66\u7A0B\u3002
+course.groupchat=\u804A\u5929\u5BA4\:
+coursechat.not.available=\u5B66\u7A0B\u804A\u5929\u73B0\u5728\u65E0\u6CD5\u4F7F\u7528\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002
+coursechat.not.available.short=\u804A\u5929\u529F\u80FD\u4E0D\u53EF\u7528\u3002
+groupchat.new.msg=\u5B66\u7A0B\u804A\u5929\u5BA4\u6709\u65B0\u6D88\u606F\uFF01
+groupchat.not.available=\u804A\u5929\u529F\u80FD\u4E0D\u53EF\u7528\u3002
+groupchat.roster=\u53C2\u4E0E\u8005
+im.conference.maxi.intro=\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u4E0E\u8BE5\u7FA4\u7EC4\u7684\u5176\u4ED6\u6210\u5458\u8FDB\u884C\u804A\u5929\u3002
+im.conference.maxi.title=\u804A\u5929\u5BA4
+im.conference.participants=\u6B64\u523B\uFF0C\u4EE5\u4E0B\u7528\u6237\u5728\u4F7F\u7528\u6B64\u804A\u5929\u5BA4\uFF1A
+im.refresh=\u5237\u65B0\u663E\u793A
+im.refresh.auto=\u81EA\u52A8\u91CD\u65B0\u52A0\u8F7D\u663E\u793A\u3002
+init.messaging=\u521D\u59CB\u5316
+msg.send=\u53D1\u9001
+msg.send.error=\u65E0\u6CD5\u53D1\u9001\u60A8\u7684\u4FE1\u606F\u3002\u8BF7\u91CD\u65B0\u8F7D\u5165\u6B64\u5B66\u7A0B\u540E\u91CD\u8BD5\u3002
+nobody=\u65E0\u4EBA
+openChat=\u8FDB\u5165\u804A\u5929\u5BA4
+participants.in.chat=\u5728\u5B66\u7A0B\u804A\u5929\u5BA4\u5185\u90E8\u4EA4\u8C08
+toogle.anonymous=\u5728\u804A\u5929\u5BA4\u4E2D\u663E\u793A\u7528\u6237\u540D
+update.roster=\u5347\u7EA7
+
+
+
+
+
+#Wed Jul 28 13:33:30 CEST 2010
+chat.with.yourself=\u60A8\u771F\u8981\u60F3\u4E0E\u81EA\u5DF1\u4EA4\u8C08\uFF1F
+chelp.add=\u6D88\u606F\u7EC4\u5217\u8868\u5185\u5BB9
+chelp.add1=\u901A\u8FC7OLAT\u7684<i>$org.olat.group.ui\:LearningGroup</i>,\u8054\u7CFB\u4EBA\u53EF\u4EE5\u88AB\u5220\u9664\u6216\u8005\u589E\u52A0
+chelp.add2=\u5047\u8BBE\u4F60\u662F\u4E00\u4E2A <i>$org.olat.group.ui\:LearningGroup</i>\u7684\u6240\u6709\u8005,\u4F60\u53EF\u4EE5\u9080\u8BF7\u6216\u8005\u4E0D\u9080\u8BF7\u7EC4\u7684\u5408\u4F19\u62E5\u6709\u8005,\u6216\u8005\u7EC4\u7684\u53C2\u4E0E\u8005.
+chelp.add3=\u8FD9\u4E9B\u4EBA\u4F1A\u51FA\u73B0\u5728\u4F60\u7684OLAT\u804A\u5929\u7684\u7EC4\u5217\u8868\u91CC.
+chelp.chan1=\u9009\u62E9\u4E86\u53EF\u7528\u7684\u72B6\u6001\u540E,\u4F60\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u661F\u72B6\u6807\u5FD7\u6539\u53D8\u4F60\u7684\u72B6\u6001.
+chelp.chan2=(3/6)\u544A\u8BC9\u4F60\u6709\u591A\u5C11\u5927\u5B66\u88AB\u6CE8\u518C\u5E76\u4E14\u6B64\u523B\u53EF\u89C1.
+chelp.chan3=\u901A\u8FC7\u70B9\u51FB\u6458\u8981,\u6574\u4E2A\u7EC4\u5217\u8868\u5305\u62EC\u540D\u5B57\u548C\u4F60\u7684\u5927\u5B66\u7684\u72B6\u6001\u5C06\u4F1A\u53D8\u4E3A\u53EF\u89C1.
+chelp.client=\u4F7F\u7528\u5916\u90E8\u5373\u65F6\u901A\u8BAF\u7A0B\u5E8F\u8FDB\u884C\u804A\u5929
+chelp.client1=\u5982\u679C\u60A8\u5E0C\u671B\u4F7F\u7528\u4E00\u4E2A\u5916\u90E8\u7684\u5373\u65F6\u901A\u8BB8\u7A0B\u5E8F\uFF0C\u60A8\u4F1A\u5728"\u9996\u9875"\u627E\u5230\u6709\u7528\u7684\u4FE1\u606F\uFF0C\u5B83\u4F4D\u4E8E\u201C\u8BBE\u7F6E\u201D->"\u5373\u65F6\u901A\u8BAF"
+chelp.group=\u53C2\u4E0E\u7FA4\u7EC4\u804A\u5929
+chelp.group1=\u804A\u5929\u5BA4\u7684\u94FE\u63A5\u53EF\u4EE5\u5728OLAT\u7684\u5176\u4ED6\u5730\u65B9\u88AB\u627E\u5230(\u4F8B\u5982 <i>$org.olat.group.ui\:LearningGroup</i>, <i>$org.olat.group.ui\:LearningGroup</i>).
+chelp.group2=\u70B9\u51FB\u94FE\u63A5<i>\u5F00\u59CB\u804A\u5929</i>.
+chelp.group3=\u4E00\u4E2A\u65B0\u7684\u7A97\u53E3\u5C06\u4F1A\u88AB\u6253\u5F00\u4F60\u80FD\u591F\u8FDB\u5165\u7EC4\u804A\u5929.
+chelp.group4=\u53D1\u9001\u5230\u804A\u5929\u5BA4\u7684\u6D88\u606F\u4F1A\u9001\u7ED9\u804A\u5929\u5BA4\u7684\u6240\u6709\u4EBA.
+chelp.group5=\u6240\u6709\u53C2\u4E0E\u8005\u7684\u5217\u8868\u4F1A\u5728\u4E0B\u4E00\u4E2A\u6D88\u606F\u7A97\u53E3\u91CC\u663E\u793A\u51FA\u6765.
+chelp.group6=\u5982\u679C\u4F60\u60F3\u9000\u51FA\u804A\u5929\u5BA4,\u5173\u95ED\u7A97\u53E3\u5373\u53EF.
+chelp.imgAlt1=\u6709\u4E0D\u540C\u72B6\u6001\u8054\u7CFB\u4EBA\u7684\u7EC4\u5217\u8868\u56FE\u50CF
+chelp.instant-messenger.title=\u5373\u65F6\u6D88\u606F\u529F\u80FD
+chelp.over=\u7EFC\u8FF0
+chelp.over1=\u5373\u65F6\u6D88\u606F\u5141\u8BB8\u548C\u5176\u4ED6\u540C\u65F6\u5728\u7EBF\u7684\u4EBA\u76F8\u4E92\u4EA4\u6362\u6D88\u606F,\u4E5F\u5C31\u662F\u6240\u8C13\u7684\u201C\u804A\u5929\u201D.
+chelp.over2=\u9690\u8EAB\u7684\u804A\u5929\u4F19\u4F34\u7684\u53EF\u89C1\u6027\u4FE1\u606F\u662F\u5F88\u91CD\u8981\u7684.
+chelp.over3=\u901A\u8FC7\u4F7F\u7528\u6240\u8C13\u7684\u201C\u7FA4\u7EC4\u5217\u8868\u201D,\u60A8\u53EF\u83B7\u5F97\u6B64\u4FE1\u606F.
+chelp.over4=\u5982\u4E0B\u7684\u56FE\u50CF\u8868\u660E3\u4E2A\u4E0D\u540C\u72B6\u6001\u7684\u4EBA\u7684\u7FA4\u7EC4\u5217\u8868.
+chelp.over7=\u8981\u548C\u5728\u7EBF\u7684\u8054\u7CFB\u4EBA\u804A\u5929,\u70B9\u51FB\u8054\u7CFB\u4EBA\u5217\u8868,\u60A8\u5C31\u53EF\u4EE5\u5728\u7B2C\u4E8C\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3\u5F00\u59CB\u804A\u5929\u3002
+chelp.rece=\u63A5\u53D7\u6D88\u606F
+chelp.rece1=\u6D88\u606F\u53EF\u4EE5\u901A\u8FC7\u4E24\u79CD\u9014\u5F84\u88AB\u63A5\u53D7\:
+chelp.rece2=\u5982\u679C\u804A\u5929\u7A97\u6CA1\u6709\u6253\u5F00,\u6D88\u606F\u5C06\u4F1A\u4EE5\u83DC\u5355\u91CC\u7684\u661F\u5F62\u6807\u5FD7\u4E0A\u7684\u95EA\u70C1\u7684\u5B57\u7B26\u7684\u5F62\u5F0F\u51FA\u73B0.
+chelp.rece3=\u70B9\u51FB\u8FD9\u4E2A\u6807\u5FD7,\u4F60\u7684\u6D88\u606F\u5C06\u4F1A\u51FA\u73B0
+chelp.rece4=\u4F60\u53EF\u4EE5\u7ACB\u523B\u7B54\u590D\u8FD9\u4E2A\u6D88\u606F(\u4E00\u4E2A\u65B0\u7684\u7A97\u53E3\u4F1A\u88AB\u6253\u5F00)\u6216\u8005\u5220\u9664\u8FD9\u4E2A\u6D88\u606F.
+chelp.rece5=\u5982\u679C\u804A\u5929\u7A97\u53E3\u5DF2\u7ECF\u6253\u5F00,\u65B0\u7684\u6D88\u606F\u5C06\u4F1A\u7ACB\u5373\u5728\u8FD9\u4E2A\u7A97\u53E3\u91CC\u5C55\u51FA\u51FA\u6765.
+chelp.send=\u53D1\u9001\u6D88\u606F
+chelp.send1=\u4E3A\u4E86\u7ED9\u67D0\u4E9B\u4EBA\u53D1\u9001\u6D88\u606F,\u4F60\u53EF\u4EE5\u70B9\u51FB\u7EC4\u5217\u8868\u4E0A\u7684\u76F8\u5173\u4EBA\u7684\u540D\u5B57\u6216\u8005\u4ECE\u5728\u7EBF\u7528\u6237\u5217\u8868\u91CC\u9009\u62E9\u4E00\u4E2A\u4F19\u4F34.
+chelp.send2=\u901A\u8FC7\u9009\u62E9\u4E00\u4E2A\u540D\u5B57\u3002\u4E00\u4E2A\u65B0\u7684\u5E26\u6709.
+close=\u5173\u95ED
+help.hover.im=\u5173\u4E8E\u5373\u65F6\u901A\u8BAF\u7279\u6027\u7684\u5E2E\u52A9
+help.hover.imsettings=\u5173\u4E8E\u5373\u65F6\u901A\u8BAF\u914D\u7F6E\u7684\u5E2E\u52A9
+im.buddies=\u597D\u53CB
+im.chat=\u804A\u5929
+im.chat.disabled=\u804A\u5929\u529F\u80FD\u5173\u95ED\u3002\u5728\u8003\u8BD5\u671F\u95F4\uFF0C\u60A8\u65E0\u6CD5\u6536\u5230\u6D88\u606F\u3002
+im.chat.windows.may.invalid=\u6240\u6709\u6B63\u5728\u8FDB\u884C\u7684\u804A\u5929\u5C06\u7EC8\u6B62\uFF0C\u8BF7\u5173\u95ED\u804A\u5929\u7A97\u53E3\u3002
+im.chat.with=\u804A\u5929\u5BF9\u8C61
+im.error.connection=\u5373\u65F6\u901A\u8BAF\u5F53\u524D\u4E0D\u53EF\u7528
+im.hide.groups=\u9690\u85CF\u7FA4\u7EC4
+im.hide.offline.buddies=\u9690\u85CF\u7EBF\u4E0B\u8054\u7CFB
+im.new.message=\u60A8\u83B7\u5F97{0}\u7684\u4E00\u6761\u65B0\u4FE1\u606F\u3002
+im.new.message.other=\u6765\u81EA\u53E6\u4E00\u4E2A\u4EBA\u7684\u65B0\u6D88\u606F\uFF1A<b>{0}</b>.\u6D88\u606F\uFF1A<b>{1}</b>.\u7EE7\u7EED\u4E0E{2}\u8FDB\u884C\u4EA4\u8C08\u3002
+im.new.message.short=\u65B0\u83B7\u5F97\u7684\u6D88\u606F...
+im.others.connected=OLAT\u7528\u6237\u5728\u7EBF
+im.refresh=\u5237\u65B0\u663E\u793A
+im.roster.intro=\u8FD8\u6709\u8C01\u4ECE\u6211\u7684\u540C\u4E8B\u7EC4\u767B\u5F55\u5230OLAT\uFF1F<br>\u8BF7\u9009\u62E9\u60A8\u8981\u4EA4\u8C08\u7684\u5BF9\u8C61\u3002
+im.show.groups=\u663E\u793A\u7FA4\u7EC4
+im.show.offline.buddies=\u663E\u793A\u7EBF\u4E0B\u8054\u7CFB
+im.start.chat=\u70B9\u6B64\u5F00\u59CB\u804A\u5929\u3002
+im.status=\u72B6\u6001\uFF1A
+im.status.change=\u6539\u53D8\u72B6\u6001
+im.status.change.long=\u6539\u53D8\u5373\u65F6\u901A\u8BAF\u72B6\u6001
+im.status.msg=\u72B6\u6001msg\:
+new.status=\u65B0\u72B6\u6001\uFF1A
+presence.available=\u53EF\u7528
+presence.away=\u7F3A\u5E2D
+presence.chat=\u6211\u60F3\u8981\u804A\u5929
+presence.dnd=\u8BF7\u4E0D\u8981\u6253\u65AD
+presence.offline=\u4E0B\u7EBF
+presence.unavailable=\u4E0D\u53EF\u7528
+presence.xa=\u7F3A\u5E2D\u66F4\u4E45
+refresh=\u5237\u65B0
+rosterClose=\u5173\u95ED
+start.chat.with=\u5373\u5C06\u5F00\u59CB\u4E0E<b>{0}</b>\u4EA4\u8C08
+
+
+
+
+
+
+
 #Tue Feb 16 03:28:58 CET 2010
 command.refresh=\u66F4\u65B0
 form.coursename=\u5F53\u524D\u6240\u5728\u8BFE\u7A0B\u53EF\u89C1
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_TW.properties
index 2b351ee9762804d281c16ed9b0943c5b17693c6f..135f9d991b0b950f4dc3c2f67e0b3076ae506ebe 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_TW.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_zh_TW.properties
@@ -1,3 +1,83 @@
+#Mon Jan 18 16:42:59 CET 2010
+click.to.join=\u9032\u5165\u8AB2\u7A0B\u804A\u5929\u5BA4...
+close=\u95DC\u9589
+close.connections=\u95DC\u9589\u9023\u7DDA...
+course.chat.click.to.join=\u5728\u9019\u500B\u8AB2\u7A0B\u804A\u5929\u5BA4\u88E1\u60A8\u53EF\u4EE5\u767C\u9001\u8A0A\u606F\u7D66\u5176\u4ED6\u8AB2\u7A0B\u53C3\u8207\u8005\u4EE5\u53CA\u63A5\u6536\u8A0A\u606F\u3002
+course.chat.intro=\u5728\u6B64\u60A8\u53EF\u4EE5\u8DDF\u76EE\u524D\u6B63\u5728\u7DE8\u8F2F\u9019\u500B\u8AB2\u7A0B\u7684\u4F7F\u7528\u8005\u804A\u5929\u3002&lt;br /&gt;\u60A8\u73FE\u5728\u662F\u533F\u540D\u767B\u5165\u3002 \u7136\u800C\uFF0C\u60A8\u53EF\u4EE5\u6C7A\u5B9A\u7528\u60A8\u7684 OLAT \u4F7F\u7528\u8005\u540D\u7A31\u3002
+course.groupchat=\u804A\u5929\u5BA4\uFF1A
+coursechat.not.available=\u6C92\u6709\u53EF\u7528\u7684\u8AB2\u7A0B\u804A\u5929\u5BA4\u3002 \u8ACB\u7A0D\u5F8C\u5728\u8A66\u3002
+coursechat.not.available.short=\u6C92\u6709\u53EF\u7528\u7684\u804A\u5929\u5BA4\u3002
+groupchat.new.msg=\u8AB2\u7A0B\u804A\u5929\u5BA4\u5167\u7684\u65B0\u8A0A\u606F\uFF01
+groupchat.not.available=\u6C92\u6709\u53EF\u7528\u7684\u804A\u5929\u5BA4\u3002
+groupchat.roster=\u53C3\u8207\u8005
+im.conference.maxi.intro=\u5728\u6B64\u60A8\u53EF\u4EE5\u8DDF\u9019\u500B\u7FA4\u7D44\u5167\u7684\u5176\u4ED6\u6210\u54E1\u804A\u5929\u3002
+im.conference.maxi.title=\u804A\u5929\u5BA4
+im.conference.participants=\u76EE\u524D\u6709\u4E0B\u5217\u4F7F\u7528\u8005\u5728\u4F7F\u7528\u804A\u5929\u5BA4\uFF1A
+im.refresh=\u91CD\u5148\u6574\u7406\u986F\u793A
+im.refresh.auto=\u986F\u793A\u5C07\u88AB\u81EA\u52D5\u91CD\u65B0\u8F09\u5165\u3002
+init.messaging=\u521D\u59CB\u5316
+msg.send=\u9001\u51FA
+msg.send.error=\u60A8\u7684\u8A0A\u606F\u7121\u6CD5\u767C\u9001\u3002 \u8ACB\u91CD\u65B0\u555F\u52D5\u9019\u500B\u8AB2\u7A0B\u518D\u8A66\u4E00\u6B21\u3002
+nobody=\u6C92\u6709\u4EBA
+openChat=\u9032\u5165\u804A\u5929\u5BA4
+participants.in.chat=\u5728\u8AB2\u7A0B\u804A\u5929\u5BA4
+toogle.anonymous=\u986F\u793A\u804A\u5929\u5BA4\u5167\u7684\u4F7F\u7528\u8005\u540D\u7A31
+update.roster=\u66F4\u65B0
+
+
+
+
+
+
+
+
+
+
+#Sun Feb 07 18:18:11 CET 2010
+chat.with.yourself=\u60A8\u771F\u7684\u8981\u548C\u60A8\u81EA\u5DF1\u804A\u5929\u55CE\uFF1F
+chelp.add=\u7BA1\u7406\u7FA4\u7D44\u6E05\u55AE\u9023\u7D61\u4EBA
+chelp.add1=\u9023\u7D61\u4EBA\u53EF\u4EE5\u900F\u904E OLAT \u7684 <i>$org.olat.group.ui\:LearningGroup</i> \u4F86\u52A0\u5165\u6216\u79FB\u9664\u3002
+close=\u95DC\u9589
+help.hover.im=\u95DC\u65BC\u5373\u6642\u8A0A\u606F\u529F\u80FD\u7684\u8AAA\u660E
+help.hover.imsettings=\u95DC\u65BC\u5373\u6642\u8A0A\u606F\u8A2D\u5B9A\u7684\u8AAA\u660E
+im.buddies=\u597D\u53CB
+im.chat=\u804A\u5929
+im.chat.disabled=\u804A\u5929\u88AB\u505C\u7528\u3002\u5728\u6E2C\u9A57\u4E2D\u60A8\u7121\u6CD5\u6536\u5230\u8A0A\u606F\u3002
+im.chat.windows.may.invalid=\u6240\u6709\u767C\u51FA\u7684\u804A\u5929\u88AB\u7D42\u6B62\u3002\u8ACB\u95DC\u9589\u804A\u5929\u5BA4\u7A97\u3002
+im.chat.with=\u804A\u5929
+im.error.connection=\u5373\u6642\u8A0A\u606F\u76EE\u524D\u7121\u6CD5\u4F7F\u7528
+im.hide.groups=\u96B1\u85CF\u7FA4\u7D44
+im.hide.offline.buddies=\u96B1\u85CF\u96E2\u7DDA\u9023\u7D61\u4EBA
+im.new.message=\u60A8\u6709\u4E00\u500B\u65B0\u8A0A\u606F\u3002
+im.new.message.other=\u5F9E\u5176\u4ED6\u4EBA\u7684\u65B0\u8A0A\u606F\uFF1A <b>{0}</b>\u3002 \u8A0A\u606F\uFF1A<b>{1}</b>\u3002\u7E7C\u7E8C\u804A\u5929\uFF1A {2}\u3002
+im.new.message.short=\u65B0\u9032\u8A0A\u606F...
+im.others.connected=OLAT \u4F7F\u7528\u8005\u4E0A\u7DDA
+im.refresh=\u91CD\u65B0\u6574\u7406
+im.roster.intro=\u6211\u7684\u7FA4\u7D44\u540C\u4E8B\u9084\u6709\u8AB0\u767B\u5165\u5230 OLAT \uFF1F<br />\u9078\u64C7\u4E00\u500B\u60A8\u8981\u804A\u5929\u7684\u5C0D\u8C61\u3002
+im.show.groups=\u986F\u793A\u7FA4\u7D44
+im.show.offline.buddies=\u986F\u793A\u96E2\u7DDA\u9023\u7D61\u4EBA
+im.start.chat=\u6309\u9019\u88E1\u4F86\u958B\u59CB\u804A\u5929\u3002
+im.status=\u72C0\u614B\uFF1A
+im.status.change=\u66F4\u6539\u72C0\u614B 
+im.status.change.long=\u66F4\u6539\u5373\u6642\u8A0A\u606F\u72C0\u614B 
+im.status.msg=\u72C0\u614B\u8A0A\u606F\uFF1A
+new.status=\u65B0\u72C0\u614B\uFF1A
+presence.available=\u7DDA\u4E0A
+presence.away=\u96E2\u958B
+presence.chat=\u958B\u653E\u804A\u5929
+presence.dnd=\u8ACB\u52FF\u6253\u64FE
+presence.offline=\u986F\u793A\u70BA\u96E2\u7DDA
+presence.unavailable=\u767B\u51FA
+presence.xa=\u5916\u51FA\u7528\u9910
+refresh=\u91CD\u65B0\u6574\u7406
+rosterClose=\u95DC\u9589
+start.chat.with=\u804A\u5929\u5C07\u958B\u59CB\uFF1A <b>{0}</b>
+
+
+
+
+
+
 #Sun Jan 31 17:06:19 CET 2010
 command.refresh=\u66F4\u65B0
 form.coursename=\u53EF\u4EE5\u770B\u898B\u6211\u6B63\u5728\u4F7F\u7528\u7684\u8AB2\u7A0B
diff --git a/src/main/java/org/olat/instantMessaging/ui/package.html b/src/main/java/org/olat/instantMessaging/ui/package.html
deleted file mode 100644
index 9eed5059c016bd8abe77e18b11513da5fc965f5b..0000000000000000000000000000000000000000
--- a/src/main/java/org/olat/instantMessaging/ui/package.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><body>
-<p>Contoller for Instant Messaging associated HTML output.</p>
-
-Each controller belongs to a HTML file you can find under /webapp/content/[same structure as source].
-The controllers process the GET-parameters that are sendet by browser requests.
-</body></html>
\ No newline at end of file
diff --git a/src/main/java/org/olat/repository/DisplayCourseInfoForm.java b/src/main/java/org/olat/repository/DisplayCourseInfoForm.java
index ba168228e72851e59476bce85c0ce8c71acbd2ae..dce69b3bd9ac664a5924a5d5cad3a3ada74ab934 100644
--- a/src/main/java/org/olat/repository/DisplayCourseInfoForm.java
+++ b/src/main/java/org/olat/repository/DisplayCourseInfoForm.java
@@ -25,6 +25,7 @@
 
 package org.olat.repository;
 
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.SelectionElement;
@@ -74,7 +75,7 @@ public class DisplayCourseInfoForm extends FormBasicController {
 		
 		chatIsOn = uifactory.addCheckboxesVertical("chatIsOn", "chkbx.chat.onoff", formLayout, new String[]{"xx"}, new String[]{null}, null, 1);
 		chatIsOn.select("xx", cc.isChatEnabled());
-		chatIsOn.setVisible(InstantMessagingModule.isEnabled()&& CourseModule.isCourseChatEnabled());
+		chatIsOn.setVisible(CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled() && CourseModule.isCourseChatEnabled());
 		
 		uifactory.addStaticTextElement(
 				"layout", "form.layout.cssfile",
diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
index ca2d2f444dd41c7bbe88830c63dc44ce4b11a174..040bd30739785afe288805392d112cbebcdfd3fc 100644
--- a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
+++ b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
@@ -31,6 +31,7 @@ import java.util.List;
 import org.olat.basesecurity.SecurityGroup;
 import org.olat.commons.calendar.CalendarManager;
 import org.olat.commons.calendar.ui.events.KalendarModifiedEvent;
+import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl;
 import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.gui.UserRequest;
@@ -196,9 +197,9 @@ public class RepositoryEditPropertiesController extends BasicController implemen
 			  // editproptabinfVC.put(CourseFactory.getDetailsComponent(repositoryEntry.getOlatResource(),ureq));
 			  // enable course chat settings, if instant messenger module is available
 			  // and course chat is enabled.
-			  if (InstantMessagingModule.isEnabled()&& CourseModule.isCourseChatEnabled()) {
+			  if (CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()&& CourseModule.isCourseChatEnabled()) {
 				  ccc = new CourseChatSettingController(ureq, getWindowControl(), changedCourseConfig);
-				  this.listenTo(ccc);
+				  listenTo(ccc);
 				  // push on controller stack and register <this> as controllerlistener
 				  tabbedPane.addTab(translate("tab.chat"), ccc.getInitialComponent());
 			  }
diff --git a/src/main/java/org/olat/restapi/system/MonitoringWebService.java b/src/main/java/org/olat/restapi/system/MonitoringWebService.java
index 4f9e8e9e7b53bac163718d8438244444482039cb..9274dac69b36499e90931ffbe2e62effdad84c66 100644
--- a/src/main/java/org/olat/restapi/system/MonitoringWebService.java
+++ b/src/main/java/org/olat/restapi/system/MonitoringWebService.java
@@ -34,7 +34,7 @@ import org.olat.admin.registration.SystemRegistrationManager;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.util.StringHelper;
-import org.olat.instantMessaging.IMConfig;
+import org.olat.instantMessaging.InstantMessagingModule;
 import org.olat.restapi.system.vo.MonitoringDependencyVO;
 import org.olat.restapi.system.vo.MonitoringInfosVO;
 
@@ -109,11 +109,11 @@ public class MonitoringWebService {
 		vo.setDescription(module.getDescription());
 		
 		List<MonitoringDependencyVO> dependencies = new ArrayList<MonitoringDependencyVO>();
-		IMConfig imConfig = CoreSpringFactory.getImpl(IMConfig.class);
+		InstantMessagingModule imConfig = CoreSpringFactory.getImpl(InstantMessagingModule.class);
 		if(imConfig.isEnabled()) {
 			MonitoringDependencyVO dependency = new MonitoringDependencyVO();
 			dependency.setType("openfire");
-			dependency.setUrl(imConfig.getServername());
+			dependency.setUrl("");
 			dependencies.add(dependency);	
 		}
 		
diff --git a/src/main/java/org/olat/restapi/system/OpenOLATStatisticsWebService.java b/src/main/java/org/olat/restapi/system/OpenOLATStatisticsWebService.java
index 553deac27c452f6d65abeae73c4e421926cb8a55..75dc1dd1423c6decceaa5c661308d78e825ec5ba 100644
--- a/src/main/java/org/olat/restapi/system/OpenOLATStatisticsWebService.java
+++ b/src/main/java/org/olat/restapi/system/OpenOLATStatisticsWebService.java
@@ -37,7 +37,7 @@ import org.olat.core.util.UserSession;
 import org.olat.core.util.session.UserSessionManager;
 import org.olat.course.CourseModule;
 import org.olat.group.BusinessGroupService;
-import org.olat.instantMessaging.InstantMessagingModule;
+import org.olat.instantMessaging.InstantMessagingService;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.RepositoryManager;
 import org.olat.restapi.system.vo.IndexerStatisticsVO;
@@ -234,7 +234,7 @@ public class OpenOLATStatisticsWebService {
 		vo.setSecureRestCount(secureRestCount);
 		
 		//Instant messaging
-		int imConnections = InstantMessagingModule.getAdapter().countConnectedUsers();
+		int imConnections = CoreSpringFactory.getImpl(InstantMessagingService.class).getNumOfconnectedUsers();
 		vo.setInstantMessagingCount(imConnections);
 		
 		return vo;
diff --git a/src/main/java/org/olat/user/PersonalSettingsController.java b/src/main/java/org/olat/user/PersonalSettingsController.java
index 287e9d81c84148741183a804510bdad51ba0eb86..29a7ecf04e1ee80b0d912511bd433147f7e2649d 100644
--- a/src/main/java/org/olat/user/PersonalSettingsController.java
+++ b/src/main/java/org/olat/user/PersonalSettingsController.java
@@ -49,7 +49,7 @@ import org.olat.core.logging.OLATSecurityException;
 import org.olat.core.servlets.WebDAVManager;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.instantMessaging.InstantMessagingModule;
-import org.olat.instantMessaging.ui.ChangeIMSettingsController;
+import org.olat.instantMessaging.ui.IMPreferenceController;
 import org.olat.ldap.LDAPLoginModule;
 import org.olat.ldap.ui.LDAPAuthenticationController;
 import org.olat.registration.DisclaimerController;
@@ -110,8 +110,8 @@ public class PersonalSettingsController extends BasicController implements Activ
 				listenTo(pwdav);
 			}
 			
-			if(InstantMessagingModule.isEnabled()){
-				cimsc = new ChangeIMSettingsController(ureq, getWindowControl(), (Identity)DBFactory.getInstance().loadObject(ureq.getIdentity()));
+			if(CoreSpringFactory.getImpl(InstantMessagingModule.class).isEnabled()){
+				cimsc = new IMPreferenceController(ureq, getWindowControl(), (Identity)DBFactory.getInstance().loadObject(ureq.getIdentity()));
 				listenTo(cimsc);
 				userConfig.addTab(translate("tab.im"), cimsc.getInitialComponent());
 			}
diff --git a/src/main/resources/database/mysql/alter_8_3_0_to_8_4_0.sql b/src/main/resources/database/mysql/alter_8_3_0_to_8_4_0.sql
new file mode 100644
index 0000000000000000000000000000000000000000..9ef814f20cc3a85e888fc560b001d5033449fce5
--- /dev/null
+++ b/src/main/resources/database/mysql/alter_8_3_0_to_8_4_0.sql
@@ -0,0 +1,22 @@
+-- instant messaging
+create table if not exists o_im_message (
+   id bigint not null,
+   creationdate datetime,
+   msgbody longtext,
+   fk_from_identity_id bigint not null,
+   primary key (id)
+);
+alter table o_im_message add constraint idx_im_msg_to_fromid foreign key (fk_from_identity_id) references o_bs_identity (id);
+
+create table if not exists o_im_preferences (
+   id bigint not null,
+   creationdate datetime,
+   visible_to_others bit default 0,
+   online_time_visible bit default 0,
+   roster_def_status varchar(12),
+   fk_from_identity_id bigint not null,
+   primary key (id)
+);
+alter table o_im_preferences add constraint idx_im_prfs_to_id foreign key (fk_from_identity_id) references o_bs_identity (id);
+
+
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index 2b97635cae39046a2dd57bbeb609426ca1896d21..65eb5c1a7f8cbe8e5b3f0ca49cdf510025d37f37 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -453,31 +453,12 @@ unpack.fonts=false
 
 # if enabled then the IM Server must be running before OLAT is started!
 instantMessaging.enable=false
-instantMessaging.server.name=jabber.myolat.com
-# permit multiple OLAT instances to use the same IM server
-# each instance will append its ID to user-/group name
-instantMessaging.multipleInstances=false
-# when using multiple OLAT instances if you use email addresses as OLAT
-# usernames then the '@' must be replaced !
-instantMessaging.replaceStringForEmailAt=_at_
-# an "admin" account must be present, do not change this username!
-instantMessaging.admin.username=admin
-instantMessaging.admin.password=admin
-#if true all groups are synchronized with the im server
-instantMessaging.sync.groups=true
-instantMessaging.sync.groups.values=true,groupconfig,false
-#FXOLAT-219 The delay
-instantMessaging.sync.learning.groups.start.delay=15000
-#Default in Smack is 5000 so set to that here
-instantMessaging.packetReplyTimeout=5000
 
 #whether to display current course participant count in the course toolbox
 course.display.participants.count=true
 
-instantMessaging.awarenessVisible=false
 instantMessaging.hideExternalClientInfo=false
 
-
 ########################################################################
 # Social sharing options
 ########################################################################
@@ -752,8 +733,8 @@ ldap.attrib.sync.once.olatkey3=
 # Build properties
 #####
 application.name=OpenOLAT
-build.version=8.3.0a
-build.identifier=openolat830-dev
+build.version=8.4.0a
+build.identifier=openolat840-dev
 build.repo.revision=local-devel
 
 #####
diff --git a/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml b/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
index 96964858d3fadb89b2bc2ea82e2bda751e1926c6..ca6bfa504e1a966a7470a471a489d35f62a08ce0 100644
--- a/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
+++ b/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
@@ -404,26 +404,6 @@
 				</list>
 			</property>
 		</bean>	
-		
-		<bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints">
-			<property name="order" value="7210" />
-			<property name="actionController">	
-				<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
-					<property name="className" value="org.olat.admin.instantMessaging.InstantMessagingAdminController"/>
-				</bean>
-			</property>
-			<property name="navigationKey" value="im" />
-			<property name="i18nActionKey" value="menu.imadmin"/>
-			<property name="i18nDescriptionKey" value="menu.imadmin.alt"/>
-			<property name="translationPackage" value="org.olat.admin"/>
-			<property name="extensionPoints">
-				<list>	
-					<value>org.olat.admin.SystemAdminMainController</value>		
-				</list>
-			</property>
-			<property name="enabled" value="${instantMessaging.enable}"/>
-			<property name="parentTreeNodeIdentifier" value="modulesParent" /> 
-		</bean>	
 
 
 		<!-- Customizing parent node -->
diff --git a/src/main/resources/serviceconfig/org/olat/_spring/olatextconfig.xml b/src/main/resources/serviceconfig/org/olat/_spring/olatextconfig.xml
index f7786140c5b2aadee9c7e3c158f7098c05be7537..959f3d559848cf06612c1a2b5c57067bcc15ccc5 100644
--- a/src/main/resources/serviceconfig/org/olat/_spring/olatextconfig.xml
+++ b/src/main/resources/serviceconfig/org/olat/_spring/olatextconfig.xml
@@ -110,7 +110,6 @@
 				<entry key="org.olat.core.commons.modules.bc:name=FilesInfoMBean" >
 					<ref bean="org.olat.core.commons.modules.bc.FilesInfoMBean"/>
 				</entry>
-      			<entry key="bean:name=changePresence" value-ref="changePresenceJob"/>
 			</map>
 		</property>
 		<property name="server" ref="org.springframework.jmx.support.MBeanServerFactoryBean"/>
diff --git a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml b/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml
index 57045501b3eef3f6a5ec7988c6ac1f362a144620..fa8ef66571055a038a6560c540c783c89e95212d 100644
--- a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml
+++ b/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/olatextconfig.xml
@@ -33,7 +33,6 @@ How to add a new job:
         <list>
         	<!-- Include every bean here that should be scheduled -->
             <ref bean="sendNotificationsEmailTrigger" />
-            <ref bean="changePresenceJobTrigger" />
             <!-- <ref bean="dumpJMXJobTrigger"/> -->
             <ref bean="adobeCleanupJob"/>
 		    <!--
@@ -45,9 +44,7 @@ How to add a new job:
             <ref bean="invitationCleanupTrigger" />
             <ref bean="epDeadlineTrigger" />
             <ref bean="systemSamplerTrigger"/>
-            <ref bean="instantMessagingSyncTrigger"/>
             <ref bean="updateQtiResultsTriggerOnyx"/>
-            <ref bean="countUserOnlineTrigger"/>
             <ref bean="acReservationCleanupJob"/>
             <ref bean="mapperSlayerTrigger"/>
         </list>
@@ -56,16 +53,6 @@ How to add a new job:
 
 <!-- add referenced schedulers here -->
 
-<!-- triggers the job that either sends the instant messaging status to away or does logout of idle users. This is done because in the ajax mode may keep sending polling
-requests and therefore the session in never invalidated --> 
-<bean id="changePresenceJobTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
-    <property name="jobDetail" ref="changePresenceJob" />
-    <!-- 5 minute -->
-    <property name="startDelay" value="300000" />
-    <!-- repeat every minute -->
-    <property name="repeatInterval" value="60000" />
-</bean>
-
 <!-- Only needed in cluster mode, dumps jmx info to disc --> 
 <bean id="dumpJMXJobTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
     <property name="jobDetail" ref="dumpJMXJob" />
@@ -109,20 +96,7 @@ requests and therefore the session in never invalidated -->
 
 
 
-<!--  job definition  -->
-<bean id="changePresenceJob" class="org.springframework.scheduling.quartz.JobDetailBean">
-  <property name="jobClass" value="org.olat.instantMessaging.rosterandchat.ChangePresenceJob" />
-  <property name="jobDataAsMap">
-    <map>
-    	<!-- default is 5 minutes - values are milliseconds -->
-    	<entry key="idleWaitTime" value="300000" />
-    	<!-- default is 60 minutes  - values are milliseconds 
-    	fxdiff: we allow longer sessions. see also org.olat.core.util.UserSession
-    	-->
-    	<entry key="initialAutoLogOutCutTime" value="7200000" />
-    </map>
-  </property>
-</bean>
+
 
 <!--  job definition  -->
 <bean id="dumpJMXJob" class="org.springframework.scheduling.quartz.JobDetailBean">
@@ -144,16 +118,6 @@ requests and therefore the session in never invalidated -->
 	This only enables JMX locally and allows you to connect with the same user. To connect via remote read:
 	http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
 -->
-<!-- this bean must not be lazily initialized if the exporting is to happen -->
-<!-- Use Exporter in org.olat.olatextconfig.xml
-	<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
-	  <property name="beans">
-	    <map>
-	      <entry key="bean:name=changePresence" value-ref="changePresenceJob"/>
-	    </map>
-	  </property>
-	</bean>
--->
 
 	<!-- SEARCH INDEXING CONFIGURATION -->
 
diff --git a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml b/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml
deleted file mode 100755
index 9e70c4437af85343d72a277c2b798c20549fdf93..0000000000000000000000000000000000000000
--- a/src/main/resources/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
-<!-- 
-
-*****************************
-Scheduler system for OLAT     *
-*****************************
-You can either create simple jobs which are executed like every minute or hour or jobs
-which are configured with cron style syntax.
-
-If you would like to expose your beans to the Jconsole for accessing your properties add them
-to the MBeanExporter Bean at the end.
-
-How to add a new job:
-1. Create you class which extends from QuartzJobBean see ChangePresenceJob as example
-2. Create a file called "olatextconfig.xml" with your own beans and place it in the same directory as this file. It will be loaded automatically.
-3. Add a bean definition where your job is created like ="<bean id="changePresenceJob" class="org.springframework.scheduling.quartz.JobDetailBean">"
-4. Create a scheduler for your definded bean: Either an SimpleTriggerBean or an CronTriggerBean
-5. Add your trigger bean to the SchedulerFactoryBean list.
--->
-
-
-<!-- this tells spring to create the quartz scheduler -->
-<!-- 
-<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
-	<property name="quartzProperties">
-		<props>
-			<prop key="org.quartz.threadPool.threadCount">1</prop>
-		</props>
-	</property>
-	<property name="triggers">
-        <list>
-        	
-        </list>
-    </property>
-</bean>
--->
-
-<!-- Example bean for cron style scheduling--> 
-<!-- OLAT-5093 start delay ensures there's no conflict with server startup and db not being ready yet -->
-<!--
-<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
-    <property name="jobDetail" ref="exampleJob" />
-    <property name="cronExpression" value="0 0 6 * * ?" />
-    <property name="startDelay" value="300000" />
-</bean>
- -->
-
-
-</beans>
diff --git a/src/main/webapp-gae/WEB-INF/web.xml b/src/main/webapp-gae/WEB-INF/web.xml
index c2746aa1aeb1e5b128c8e8a82c2467886cba42b8..28e771dc555282eea67d415461de3b978785ba64 100644
--- a/src/main/webapp-gae/WEB-INF/web.xml
+++ b/src/main/webapp-gae/WEB-INF/web.xml
@@ -50,7 +50,6 @@
 					classpath:/org/olat/core/commons/services/_spring/servicesCorecontext.xml
 					
 					classpath:/serviceconfig/org/olat/core/gui/components/form/flexible/impl/elements/richText/_spring/richTextCorecontext.xml
-					classpath:/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/modules/glossary/_spring/glossaryCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/services/commentAndRating/_spring/commentsAndRatingCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/linkchooser/_spring/linkchooserCorecontext.xml
diff --git a/src/main/webapp-jbossas7/WEB-INF/web.xml b/src/main/webapp-jbossas7/WEB-INF/web.xml
index c2746aa1aeb1e5b128c8e8a82c2467886cba42b8..28e771dc555282eea67d415461de3b978785ba64 100644
--- a/src/main/webapp-jbossas7/WEB-INF/web.xml
+++ b/src/main/webapp-jbossas7/WEB-INF/web.xml
@@ -50,7 +50,6 @@
 					classpath:/org/olat/core/commons/services/_spring/servicesCorecontext.xml
 					
 					classpath:/serviceconfig/org/olat/core/gui/components/form/flexible/impl/elements/richText/_spring/richTextCorecontext.xml
-					classpath:/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/modules/glossary/_spring/glossaryCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/services/commentAndRating/_spring/commentsAndRatingCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/linkchooser/_spring/linkchooserCorecontext.xml
diff --git a/src/main/webapp-tomcat/WEB-INF/web.xml b/src/main/webapp-tomcat/WEB-INF/web.xml
index e91378ba542376767d482958cb0dfa5eef95b251..1374318a690f7384f318f3495d44fa7c3a19db71 100644
--- a/src/main/webapp-tomcat/WEB-INF/web.xml
+++ b/src/main/webapp-tomcat/WEB-INF/web.xml
@@ -50,7 +50,6 @@
 					classpath:/org/olat/core/commons/services/_spring/servicesCorecontext.xml
 					
 					classpath:/serviceconfig/org/olat/core/gui/components/form/flexible/impl/elements/richText/_spring/richTextCorecontext.xml
-					classpath:/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/modules/glossary/_spring/glossaryCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/services/commentAndRating/_spring/commentsAndRatingCorecontext.xml
 					classpath:/serviceconfig/org/olat/core/commons/linkchooser/_spring/linkchooserCorecontext.xml
diff --git a/src/main/webapp/static/themes/openolat/all/content.css b/src/main/webapp/static/themes/openolat/all/content.css
index c65465d8930cda4f1e24673c4d932dfbcbf8c4f8..caf005c54dada36ab62409df2f66b6794af25565 100644
--- a/src/main/webapp/static/themes/openolat/all/content.css
+++ b/src/main/webapp/static/themes/openolat/all/content.css
@@ -1 +1 @@
-@charset "UTF-8";@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}textarea,pre,tt,code{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:90%;color:inherit;line-height:inherit;margin:inherit}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:80%;color:#444}*:focus,*:active{outline:none}#b_header #b_topnav,#b_nav_main,div.b_tree{font-family:Century Gothic,Apple Gothic,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Century Gothic,Apple Gothic,sans-serif;font-weight:bold;margin:0 0 0.25em 0}h1{font-size:200%}h2{font-size:166.67%}h3{font-size:150%}h4{font-size:133.33%}h5{font-size:116.67%}h6{font-size:116.67%;font-style:italic}a,a:visited{text-decoration:none;color:#025d8c}a:hover{text-decoration:underline;color:#025d8c}a img{border:none;outline:none}a.b_link_extern{background:transparent url("../../openolat/images/external_link_trimmed.png") no-repeat right top;padding-right:13px}a.b_link_mailto{background:transparent url("../../openolat/images/mail_small.png") no-repeat left center;padding-left:18px}a.b_link_forward{background:transparent url("../../openolat/images/arrow_right.png") no-repeat right center;padding-right:18px}cite,blockquote{font-style:italic}blockquote{margin:0 0 1em 1.5em}strong,b{font-weight:bold}em,i{font-style:italic}textarea,pre,tt,code{font-family:monospace;font-size:1.2em}acronym,abbr{letter-spacing:.07em;border-bottom:.1em dashed #c00;cursor:help}legend{padding:0 5px;color:#504D4E}hr{color:#fff;background:transparent;margin:0 0 0.5em 0;padding:0 0 0.5em 0;border:0;border-bottom:1px #eee solid}p{margin:0 0 1em 0}dt{font-weight:bold}dd{margin:0 0 1em 2em}.b_info{background:#e9eaef url(../../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 30px;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_note{background:#E2E2E2;padding:1em;border:2px #B5B5B5 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_important{background:#FFF1A4;padding:1em;border:2px #F4D000 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_warning{background:#FFD5AA;padding:1em;border:2px #FF9E3E solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_error{background:#FF4019;padding:1em;border:2px #ff0600 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_note,div.b_important,div.b_warning,div.b_info,div.b_error{margin:1em 0}.b_border_box{border:1px solid #777;padding:1em}.b_disabled{color:#777}.b_deleted{text-decoration:line-through}.b_selected{font-weight:bold}.b_small,small{font-size:90%}.b_xsmall,sup,sub{font-size:80%}.b_large{font-size:110%}.b_xlarge,big{font-size:120%}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;color:black;padding:8px 10px 6px;color:#646464;background:#fff}.b_border_box{border:1px solid #ccc;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.b_warning{padding:1em;border:2px #ffc659 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#ffe49c;background:-moz-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffe49c), color-stop(100%, #fff4da));background:-webkit-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-o-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-ms-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:linear-gradient(top, #ffe49c 0%, #fff4da 100%)}.b_error{padding:1em;border:2px #ff0600 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#ff4019;background:-moz-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff4019), color-stop(100%, #ff7e5f));background:-webkit-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-o-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-ms-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:linear-gradient(top, #ff4019 0%, #ff7e5f 100%)}.b_error .b_error_icon{padding:9px 0 9px 41px;background:url(../../openolat/images/icon_error_32.png) no-repeat}.b_dimmed{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_ochre{color:#c8a959}div.b_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background:#fff;background:-moz-linear-gradient(top, #fff 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, #fff), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, #fff 80%, #f8f8f8 100%);background:-o-linear-gradient(top, #fff 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, #fff 80%, #f8f8f8 100%);background:linear-gradient(top, #fff 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}div.b_form_auto_completer input{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0px;padding:0}div.b_form_auto_completer input:focus{border:1px solid #504D4E;background:#FFF}div.b_form_auto_completer_item{background-color:#FFF;text-align:left;padding-top:2px;padding-bottom:2px}div.b_form_auto_completer_item.x-combo-selected{background-color:#f3feff;border-left:0 !important;border-right:0 !important}div.b_form_auto_completer_item span.b_key{color:#999;margin-right:2px}div.b_form_auto_completer_item.b_error_icon{color:#990000;font-style:italic}img.b_emoticons_angel{background:url(../../openolat/images/emoticons/smiley-angel.png) no-repeat;width:18px;height:18px}img.b_emoticons_angry{background:url(../../openolat/images/emoticons/smiley-mad.png) no-repeat;width:18px;height:18px}img.b_emoticons_blushing{background:url(../../openolat/images/emoticons/smiley-red.png) no-repeat;width:18px;height:18px}img.b_emoticons_confused{background:url(../../openolat/images/emoticons/smiley-confuse.png) no-repeat;width:18px;height:18px}img.b_emoticons_cool{background:url(../../openolat/images/emoticons/smiley-cool.png) no-repeat;width:18px;height:18px}img.b_emoticons_cry{background:url(../../openolat/images/emoticons/smiley-cry.png) no-repeat;width:18px;height:18px}img.b_emoticons_devil{background:url(../../openolat/images/emoticons/smiley-evil.png) no-repeat;width:18px;height:18px}img.b_emoticons_grin{background:url(../../openolat/images/emoticons/smiley-grin.png) no-repeat;width:18px;height:18px}img.b_emoticons_kiss{background:url(../../openolat/images/emoticons/smiley-kiss.png) no-repeat;width:18px;height:18px}img.b_emoticons_ohoh{background:url(../../openolat/images/emoticons/smiley-eek.png) no-repeat;width:18px;height:18px}img.b_emoticons_sad{background:url(../../openolat/images/emoticons/smiley-sad.png) no-repeat;width:18px;height:18px}img.b_emoticons_sick{background:url(../../openolat/images/emoticons/smiley-sad-blue.png) no-repeat;width:18px;height:18px}img.b_emoticons_smile{background:url(../../openolat/images/emoticons/smiley.png) no-repeat;width:18px;height:18px}img.b_emoticons_tongue{background:url(../../openolat/images/emoticons/smiley-razz.png) no-repeat;width:18px;height:18px}img.b_emoticons_ugly{background:url(../../openolat/images/emoticons/smiley-money.png) no-repeat;width:18px;height:18px}img.b_emoticons_weird{background:url(../../openolat/images/emoticons/smiley-nerd.png) no-repeat;width:18px;height:18px}img.b_emoticons_wink{background:url(../../openolat/images/emoticons/smiley-wink.png) no-repeat;width:18px;height:18px}img.b_emoticons_worried{background:url(../../openolat/images/emoticons/smiley-roll-blue.png) no-repeat;width:18px;height:18px}div.b_ext_elem ol,div.b_ext_elem ul,div.b_ext_elem li{list-style:none;padding:0;margin:0}div.b_ext_elem.x-tree .x-panel-body{background:transparent}div.b_ext_tooltip_wrapper{padding:1px}.x-window-mc{font-size:100%}div.b_ext_elem .x-tree-lines .x-tree-elbow-minus{background-image:url("../../openolat/images/tree_parent_open.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-plus{background-image:url("../../openolat/images/tree_parent_closed.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus{background-image:url("../../openolat/images/tree_parent_open.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus{background-image:url("../../openolat/images/tree_parent_closed.png");background-position:50% 50%}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon{background-image:url(../../openolat/images/folder.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon{background-image:url(../../openolat/images/folder_open.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon{background-image:url(../../openolat/images/docs/document_plain.png)}div.b_ext_elem .x-tree-selected a.x-tree-node-anchor{border:1px dotted #444;text-decoration:none}div.b_ext_elem .x-tree-node .x-tree-selected{background-color:#FFC266}.x-tip dl,.x-tip dd,.x-tip-body dl,.x-tip-body dd{margin:0 !important}.x-tip dl,.x-tip-body dl{padding:1px}
+@charset "UTF-8";@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}textarea,pre,tt,code{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:90%;color:inherit;line-height:inherit;margin:inherit}body{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:80%;color:#444}*:focus,*:active{outline:none}#b_header #b_topnav,#b_nav_main,div.b_tree{font-family:Century Gothic, Apple Gothic, sans-serif}h1,h2,h3,h4,h5,h6{font-family:Century Gothic, Apple Gothic, sans-serif;font-weight:bold;margin:0 0 0.25em 0}h1{font-size:200%}h2{font-size:166.67%}h3{font-size:150%}h4{font-size:133.33%}h5{font-size:116.67%}h6{font-size:116.67%;font-style:italic}a,a:visited{text-decoration:none;color:#025d8c}a:hover{text-decoration:underline;color:#025d8c}a img{border:none;outline:none}a.b_link_extern{background:transparent url("../../openolat/images/external_link_trimmed.png") no-repeat right top;padding-right:13px}a.b_link_mailto{background:transparent url("../../openolat/images/mail_small.png") no-repeat left center;padding-left:18px}a.b_link_forward{background:transparent url("../../openolat/images/arrow_right.png") no-repeat right center;padding-right:18px}cite,blockquote{font-style:italic}blockquote{margin:0 0 1em 1.5em}strong,b{font-weight:bold}em,i{font-style:italic}textarea,pre,tt,code{font-family:monospace;font-size:1.2em}acronym,abbr{letter-spacing:.07em;border-bottom:.1em dashed #c00;cursor:help}legend{padding:0 5px;color:#504D4E}hr{color:#fff;background:transparent;margin:0 0 0.5em 0;padding:0 0 0.5em 0;border:0;border-bottom:1px #eee solid}p{margin:0 0 1em 0}dt{font-weight:bold}dd{margin:0 0 1em 2em}.b_info{background:#e9eaef url(../../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 30px;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_note{background:#E2E2E2;padding:1em;border:2px #B5B5B5 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_important{background:#FFF1A4;padding:1em;border:2px #F4D000 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_warning{background:#FFD5AA;padding:1em;border:2px #FF9E3E solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}.b_error{background:#FF4019;padding:1em;border:2px #ff0600 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_note,div.b_important,div.b_warning,div.b_info,div.b_error{margin:1em 0}.b_border_box{border:1px solid #777777;padding:1em}.b_disabled{color:#777777}.b_deleted{text-decoration:line-through}.b_selected{font-weight:bold}.b_small,small{font-size:90%}.b_xsmall,sup,sub{font-size:80%}.b_large{font-size:110%}.b_xlarge,big{font-size:120%}.b_align_normal{text-align:left}.b_align_center{text-align:center}.b_align_inverse{text-align:right}.b_quote_wrapper{position:relative;margin:20px}.b_quote_author{background:url(../../openolat/images/forum/quote.gif) no-repeat left bottom;padding:10px 5px 15px 11px;position:relative;top:1px;font-style:italic;color:#A2A2A2}blockquote.b_quote{margin:0;border:1px solid #e5e5e5;color:black;padding:8px 10px 6px;color:#646464;background:#fff}.b_border_box{border:1px solid #ccc;padding:1em;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}.b_warning{padding:1em;border:2px #ffc659 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#ffe49c;background:-moz-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffe49c), color-stop(100%, #fff4da));background:-webkit-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-o-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:-ms-linear-gradient(top, #ffe49c 0%, #fff4da 100%);background:linear-gradient(top, #ffe49c 0%, #fff4da 100%)}.b_error{padding:1em;border:2px #ff0600 solid;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#ff4019;background:-moz-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff4019), color-stop(100%, #ff7e5f));background:-webkit-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-o-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:-ms-linear-gradient(top, #ff4019 0%, #ff7e5f 100%);background:linear-gradient(top, #ff4019 0%, #ff7e5f 100%)}.b_error .b_error_icon{padding:9px 0 9px 41px;background:url(../../openolat/images/icon_error_32.png) no-repeat}.b_dimmed{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_ochre{color:#c8a959}div.b_contexthelp_wrapper{position:relative}a.b_contexthelp{display:block;width:16px;height:16px;background:url(../../openolat/images/help.png) no-repeat;line-height:0;cursor:help}div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}fieldset a.b_contexthelp,fieldset div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:-1.5em;right:-0.8em}#b_contexthelp_content{padding:0}#b_ch_topnav_search div.b_form_element_wrapper.b_form_horizontal{margin:2px 0 0 0}#b_contexthelp_rating{text-align:center;margin-top:20px;padding:10px;border-top:1px #ACAAAA solid}#b_contexthelp_rating h4{font-size:90%;margin:0;font-style:italic}#b_contexthelp_rating table{display:inline-block}#b_contexthelp_rating table td{width:50%}.b_contexthelp_icon{background-image:url(../../openolat/images/help.png)}div.b_ratings_and_comments{margin:4em 0 1.5em 0;padding-bottom:0.5em;border-bottom:1px solid #eee;font-size:0.9em;position:relative}div.b_ratings_and_comments div.b_rating_wrapper{position:absolute;right:0;bottom:0;width:150px;height:4em}div.b_ratings_and_comments div.b_rating{background:none;border:none;padding:0;margin:0;position:absolute;left:0;bottom:2px;width:100%}div.b_ratings_and_comments div.b_rating_personal{background:#fff;z-index:5}div.b_ratings_and_comments a.b_comments,div.b_eportfolio_map a.b_comments{background:url(../../openolat/images/comment.png) 3px 50% no-repeat;padding:3px 0 1px 23px;vertical-align:middle;min-height:18px}div.b_comments{font-size:0.9em}div.b_comments div.b_comment_wrapper{border:1px solid #eee;padding:10px 10px 5px 10px;margin-bottom:2em;background:#fbfbfb;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_comment_wrapper div.b_avatar img{border:1px solid #aaa}div.b_comments div.b_comment_wrapper h5{font-size:1em;background:url(../../openolat/images/user.png) 0 50% no-repeat;padding:1px 0 1px 20px;vertical-align:middle;min-height:16px}div.b_comments div.b_comment_wrapper span.b_date{color:#aaaaaa;font-weight:normal;display:block;margin-top:5px}div.b_comments div.b_comment_wrapper div.b_comment_wrapper{margin-left:7px;background:#fff}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fbfbfb}div.b_comments div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper div.b_comment_wrapper{background:#fff}div.b_comments blockquote.b_comment{padding:3px 0 0 0px;margin:0}div.b_comments div.b_form{padding:10px;border:1px solid #eee;margin:2em 0 2em 0;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_comments div.b_form h5{font-size:1em;margin-bottom:0.5em}div.b_comments div.b_form div.b_button_group{text-align:center}.b_comment_icon{background-image:url(../../openolat/images/comment.png)}#b_comment_form_link{font-size:0.9em;position:relative;top:-15px;left:23px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}div.b_rating{margin:10px;padding:5px;font-size:80%;white-space:nowrap;text-align:left;background:#EEE;border:1px solid #ACAAAA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.b_rating div.b_rating_title{font-weight:bold}div.b_rating div.b_rating_items{vertical-align:middle;line-height:18px}div.b_rating div.b_rating_items a{float:left;display:inline;width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;margin:1px 4px 1px 0}div.b_rating div.b_rating_items a.b_rating_item_on{background-image:url(../../openolat/images/star.png)}div.b_rating div.b_rating_items a.b_rating_item_off{background-image:url(../../openolat/images/star_grey.png)}div.b_rating div.b_rating_items a:hover{cursor:default}div.b_rating div.b_rating_items.b_enabled a:hover{cursor:pointer}div.b_rating div.b_rating_items.b_enabled a.b_rating_item_off:hover{background-image:url(../../openolat/images/star.png)}div.b_rating div.b_rating_explanation{clear:both;font-size:90%}div.b_form_auto_completer input{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0px;padding:0}div.b_form_auto_completer input:focus{border:1px solid #504D4E;background:#FFF}div.b_form_auto_completer_item{background-color:#FFF;text-align:left;padding-top:2px;padding-bottom:2px}div.b_form_auto_completer_item.x-combo-selected{background-color:#f3feff;border-left:0 !important;border-right:0 !important}div.b_form_auto_completer_item span.b_key{color:#999;margin-right:2px}div.b_form_auto_completer_item.b_error_icon{color:#990000;font-style:italic}img.b_emoticons_angel{background:url(../../openolat/images/emoticons/smiley-angel.png) no-repeat;width:18px;height:18px}img.b_emoticons_angry{background:url(../../openolat/images/emoticons/smiley-mad.png) no-repeat;width:18px;height:18px}img.b_emoticons_blushing{background:url(../../openolat/images/emoticons/smiley-red.png) no-repeat;width:18px;height:18px}img.b_emoticons_confused{background:url(../../openolat/images/emoticons/smiley-confuse.png) no-repeat;width:18px;height:18px}img.b_emoticons_cool{background:url(../../openolat/images/emoticons/smiley-cool.png) no-repeat;width:18px;height:18px}img.b_emoticons_cry{background:url(../../openolat/images/emoticons/smiley-cry.png) no-repeat;width:18px;height:18px}img.b_emoticons_devil{background:url(../../openolat/images/emoticons/smiley-evil.png) no-repeat;width:18px;height:18px}img.b_emoticons_grin{background:url(../../openolat/images/emoticons/smiley-grin.png) no-repeat;width:18px;height:18px}img.b_emoticons_kiss{background:url(../../openolat/images/emoticons/smiley-kiss.png) no-repeat;width:18px;height:18px}img.b_emoticons_ohoh{background:url(../../openolat/images/emoticons/smiley-eek.png) no-repeat;width:18px;height:18px}img.b_emoticons_sad{background:url(../../openolat/images/emoticons/smiley-sad.png) no-repeat;width:18px;height:18px}img.b_emoticons_sick{background:url(../../openolat/images/emoticons/smiley-sad-blue.png) no-repeat;width:18px;height:18px}img.b_emoticons_smile{background:url(../../openolat/images/emoticons/smiley.png) no-repeat;width:18px;height:18px}img.b_emoticons_tongue{background:url(../../openolat/images/emoticons/smiley-razz.png) no-repeat;width:18px;height:18px}img.b_emoticons_ugly{background:url(../../openolat/images/emoticons/smiley-money.png) no-repeat;width:18px;height:18px}img.b_emoticons_weird{background:url(../../openolat/images/emoticons/smiley-nerd.png) no-repeat;width:18px;height:18px}img.b_emoticons_wink{background:url(../../openolat/images/emoticons/smiley-wink.png) no-repeat;width:18px;height:18px}img.b_emoticons_worried{background:url(../../openolat/images/emoticons/smiley-roll-blue.png) no-repeat;width:18px;height:18px}div.b_ext_elem ol,div.b_ext_elem ul,div.b_ext_elem li{list-style:none;padding:0;margin:0}div.b_ext_elem.x-tree .x-panel-body{background:transparent}div.b_ext_tooltip_wrapper{padding:1px}.x-window-mc{font-size:100%}div.b_ext_elem .x-tree-lines .x-tree-elbow-minus{background-image:url("../../openolat/images/tree_parent_open.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-plus{background-image:url("../../openolat/images/tree_parent_closed.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-end-minus{background-image:url("../../openolat/images/tree_parent_open.png");background-position:50% 50%}div.b_ext_elem .x-tree-lines .x-tree-elbow-end-plus{background-image:url("../../openolat/images/tree_parent_closed.png");background-position:50% 50%}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon{background-image:url(../../openolat/images/folder.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon{background-image:url(../../openolat/images/folder_open.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon{background-image:url(../../openolat/images/docs/document_plain.png)}div.b_ext_elem .x-tree-selected a.x-tree-node-anchor{border:1px dotted #444;text-decoration:none}div.b_ext_elem .x-tree-node .x-tree-selected{background-color:#FFC266}.x-tip dl,.x-tip dd,.x-tip-body dl,.x-tip-body dd{margin:0 !important}.x-tip dl,.x-tip-body dl{padding:1px}
diff --git a/src/main/webapp/static/themes/openolat/all/modules/_im.scss b/src/main/webapp/static/themes/openolat/all/modules/_im.scss
index de6eecd958612849bff8c91bfc12bbd280e26000..113978e9605e92dd5de2fb935ef80a9c8e3d1861 100644
--- a/src/main/webapp/static/themes/openolat/all/modules/_im.scss
+++ b/src/main/webapp/static/themes/openolat/all/modules/_im.scss
@@ -29,17 +29,14 @@
 
 div.o_groupchat_roster {
 		margin: 0;
-		ul { list-style-type: disc;margin: 0; padding: 0;}
+		ul { list-style-type: none;margin: 0; padding: 0;}
 		li { font-size: 95%}
 }
 
 /* im icons */
 .o_instantmessaging_available_icon { background-image: url(../openolat/images/im/gstar.png); }
-.o_instantmessaging_chat_icon {	background-image: url(../openolat/images/im/gstar_chat.png); }
-.o_instantmessaging_away_icon {	background-image: url(../openolat/images/im/gstar_clock.png); }
 .o_instantmessaging_dnd_icon { background-image: url(../openolat/images/im/gstar_cross.png); }
 .o_instantmessaging_unavailable_icon { background-image: url(../openolat/images/im/grstar.png); }
-.o_instantmessaging_xa_icon { background-image: url(../openolat/images/im/grstar_clock.png); }
 .o_instantmessaging_offline_icon { background-image: url(../openolat/images/im/grstar.png);}
 .o_instantmessaging_new_msg_icon { background-image: url(../openolat/images/im/new_message.png);}
 .o_instantmessaging_error_icon { background-image: url(../openolat/images/cross.png);}	
diff --git a/src/main/webapp/static/themes/openolat/layout.css b/src/main/webapp/static/themes/openolat/layout.css
index 5af564cc197a5436d0dd918520017f6bdd4144db..aca0d5d1c119391d216e54effc9d4bb9bc75b5d6 100644
--- a/src/main/webapp/static/themes/openolat/layout.css
+++ b/src/main/webapp/static/themes/openolat/layout.css
@@ -22,4 +22,4 @@
  *  @author strentini, sergio.trentini@frentix.com,  www.frentix.com
  *  @date Nov. 2011
  * ========================================================
-**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 20px;min-height:16px;background-position:0 50%;background-repeat:no-repeat}option.b_with_small_icon_left{padding:0 0 0 20px;vertical-align:middle;min-height:11px;background-position:0 50%;background-repeat:no-repeat}.b_with_small_icon_right{padding:1px 20px 1px 0px;min-height:16px;background-position:100% 50%;background-repeat:no-repeat}.b_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{background-image:url("../openolat/images/exclamation.png")}.b_error_icon{background-image:url("../openolat/images/cross-circle.png")}.b_new_icon{background-image:url("../openolat/images/new-text.png")}.b_institution_icon{background-image:url("../openolat/images/home.png")}.b_group_icon{background-image:url("../openolat/images/users.png")}.b_user_icon{background-image:url("../openolat/images/user.png")}.b_move_left_icon{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon{background-image:url("../openolat/images/arrow_right_big.png")}.b_move_down_icon{background-image:url("../openolat/images/arrow_down_big.png")}.b_move_up_icon{background-image:url("../openolat/images/arrow_up_big.png")}.b_delete_icon{background-image:url("../openolat/images/bin-metal-full.png")}.b_share_icon{background-image:url("../openolat/images/share.png")}.b_status_enabled_icon{background-image:url("../openolat/images/tick.png")}.b_status_disabled_icon{background-image:url("../openolat/images/cross.png")}.b_edit_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.b_add_icon{background-image:url("../openolat/images/plus-circle.png")}.b_open_icon{background-image:url("../openolat/images/control/control.png")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.png)}.o_fulltext_search_button{background-image:url("../openolat/images/magnifier-zoom.png")}.o_help_icon{background-image:url("../openolat/images/help.png")}.o_rss_icon{background-image:url("../openolat/images/feed.png")}.o_login_guests{background-image:url("../openolat/images/user_silhouette.png")}.o_login_pwd{background-image:url("../openolat/images/user_excl.png")}.o_login_register{background-image:url("../openolat/images/user_register.png")}.o_news_icon{background-image:url("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.png")}.b_flag_en{background-image:url("../openolat/images/flags/gb.png")}.b_flag_de{background-image:url("../openolat/images/flags/de.png")}.b_flag_fr{background-image:url("../openolat/images/flags/fr.png")}.b_flag_it{background-image:url("../openolat/images/flags/it.png")}.b_flag_es{background-image:url("../openolat/images/flags/es.png")}.b_flag_da{background-image:url("../openolat/images/flags/dk.png")}.b_flag_cs{background-image:url("../openolat/images/flags/cz.png")}.b_flag_el{background-image:url("../openolat/images/flags/gr.png")}.b_flag_ee{background-image:url("../openolat/images/flags/ee.png")}.b_flag_ru{background-image:url("../openolat/images/flags/ru.png")}.b_flag_pl{background-image:url("../openolat/images/flags/pl.png")}.b_flag_zh_CN{background-image:url("../openolat/images/flags/cn.png")}.b_flag_zh_TW{background-image:url("../openolat/images/flags/tw.png")}.b_flag_lt{background-image:url("../openolat/images/flags/lt.png")}.b_flag_fa{background-image:url("../openolat/images/flags/ir.png")}.b_flag_pt_PT{background-image:url("../openolat/images/flags/pt.png")}.b_flag_pt_BR{background-image:url("../openolat/images/flags/br.png")}.b_flag_tr{background-image:url("../openolat/images/flags/tr.png")}.b_flag_hu{background-image:url("../openolat/images/flags/hu.png")}.b_flag_sq{background-image:url("../openolat/images/flags/al.png")}.b_flag_in{background-image:url("../openolat/images/flags/id.png")}.b_flag_ar{background-image:url("../openolat/images/flags/eg.png")}.b_flag_rm{background-image:url("../openolat/images/flags/rm.png")}.b_flag_af{background-image:url("../openolat/images/flags/za.png")}.b_flag_vi{background-image:url("../openolat/images/flags/vn.png")}.b_flag_mn{background-image:url("../openolat/images/flags/mn.png")}.b_flag_iw{background-image:url("../openolat/images/flags/il.png")}.b_flag_ko{background-image:url("../openolat/images/flags/kr.png")}.b_flag_nl_NL{background-image:url("../openolat/images/flags/nl.png")}.b_flag_jp{background-image:url("../openolat/images/flags/jp.png")}.b_flag_nb_NO{background-image:url("../openolat/images/flags/no.png")}.b_flag_et_EE{background-image:url("../openolat/images/flags/ee.png")}.b_flag_bg{background-image:url("../openolat/images/flags/bg.png")}.b_flag_hi_IN_ASIA{background-image:url("../openolat/images/flags/in.png")}.b_flag_ar_LB{background-image:url("../openolat/images/flags/lb.png")}.b_flag_de_FX_business{background-image:url("../openolat/images/flags/de.png")}.b_flag_de_FX_school{background-image:url("../openolat/images/flags/de.png")}.b_flag_en_FX_business{background-image:url("../openolat/images/flags/gb.png")}.b_flag_en_FX_school{background-image:url("../openolat/images/flags/gb.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_avi_icon{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_bat_icon{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_bmp{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_css{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_dvi{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_exe{background-image:url("../openolat/images/docs/document-binary.png") !important}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder,.b_filetype_folder_open{background-image:url("../openolat/images/folder_open.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.png") !important}.b_filetype_gif{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_gz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_jpeg,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_js{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_log{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_midi{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_mpeg,.b_filetype_mpg{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_odp{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ods{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_odt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_odg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_odf{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_png{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_ppt{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ps{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_readme,.b_filetype_README{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_rtf{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_tiff{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_xml{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_zip{background-image:url("../openolat/images/docs/document-zipper.png") !important}li.b_nav_site div,li.b_nav_tab div{background:url("../openolat/images/application.png") no-repeat left 50%;padding-left:18px}li.b_resource_BusinessGroup div,.o_BusinessGroup_icon{background-image:url("../openolat/images/users.png")}li.b_resource_GroupCard div,.o_GroupCard_icon{background-image:url("../openolat/images/users.png")}li.b_resource_CourseModule div,.o_CourseModule_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li.b_resource_HOMEPAGECONFIG div,.o_HOMEPAGECONFIG_icon,li.b_resource_Identity div{background-image:url("../openolat/images/card-address.png")}li.b_resource_FileResource-SHAREDFOLDER div,.o_FileResource-SHAREDFOLDER_icon{background-image:url("../openolat/images/folder_shared.png")}li.b_resource_FileResource-WIKI div,.o_FileResource-WIKI_icon{background-image:url("../openolat/images/le_resources/wiki.png")}li.b_resource_FileResource-PODCAST div,.o_FileResource-PODCAST_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li.b_resource_FileResource-BLOG div,.o_FileResource-BLOG_icon{background-image:url("../openolat/images/le_resources/blog.png")}li.b_resource_FileResource-MOVIE div,.o_FileResource-MOVIE_icon{background-image:url("../openolat/images/docs/document-film.png")}li.b_resource_FileResource-PDF div,.o_FileResource-PDF_icon{background-image:url("../openolat/images/docs/document-pdf.png")}li.b_resource_FileResource-PPT div,.o_FileResource-PPT_icon{background-image:url("../openolat/images/docs/document-powerpoint.png")}li.b_resource_FileResource-DOC div,.o_FileResource-DOC_icon{background-image:url("../openolat/images/docs/document-word.png")}li.b_resource_FileResource-IMSCP div,.o_FileResource-IMSCP_icon{background-image:url("../openolat/images/le_resources/box.png")}li.b_resource_FileResource-SCORMCP div,.o_FileResource-SCORMCP_icon{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li.b_resource_FileResource-FILE div,.o_FileResource-FILE_icon{background-image:url("../openolat/images/docs/document_plain.png")}li.b_resource_FileResource-IMAGE div,.o_FileResource-IMAGE_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SOUND div,.o_FileResource-SOUND_icon{background-image:url("../openolat/images/docs/document-music.png")}li.b_resource_FileResource-XLS div,.o_FileResource-XLS_icon{background-image:url("../openolat/images/docs/document-excel.png")}li.b_resource_FileResource-ANIM div,.o_FileResource-ANIM_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SURVEY div,.o_FileResource-SURVEY_icon{background-image:url("../openolat/images/le_resources/survey.png")}li.b_resource_FileResource-TEST div,.o_FileResource-TEST_icon{background-image:url("../openolat/images/le_resources/test.png")}li.b_resource_FileResource-GLOSSARY div,.o_FileResource-GLOSSARY_icon{background-image:url("../openolat/images/le_resources/glossary.png")}li.b_resource_org-olat-search-ui-SearchController div,.o_org-olat-search-ui-SearchController_icon{background-image:url("../openolat/images/magnifier-zoom.png")}li.b_resource_EPStructuredMapTemplate div{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.o_toolbox_course{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li a.o_toolbox_content{background-image:url("../openolat/images/le_resources/box.png")}li a.o_toolbox_scorm{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li a.o_toolbox_test{background-image:url("../openolat/images/le_resources/test.png")}li a.o_toolbox_questionnaire{background-image:url("../openolat/images/le_resources/survey.png")}li a.o_toolbox_wiki{background-image:url("../openolat/images/le_resources/wiki.png")}li a.o_toolbox_podcast{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li a.o_toolbox_blog{background-image:url("../openolat/images/le_resources/blog.png")}li a.o_toolbox_glossary{background-image:url("../openolat/images/le_resources/glossary.png")}li a.o_toolbox_sharedfolder{background-image:url("../openolat/images/folder_shared.png")}li a.o_toolbox_coursefolder{background-image:url("../openolat/images/le_resources/blue-folder.png")}li a.o_toolbox_courseareas{background-image:url("../openolat/images/users.png")}li a.o_toolbox_portfolio{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.b_toolbox_link{background-image:url("../openolat/images/bullet_black.png")}li a.b_toolbox_doc{background-image:url("../openolat/images/docs/document_plain.png")}li a.b_toolbox_preview{background-image:url("../openolat/images/docs/document_preview.png")}li a.b_toolbox_publish{background-image:url("../openolat/images/docs/document_share.png")}li a.b_toolbox_move{background-image:url("../openolat/images/docs/document_move.png")}li a.b_toolbox_close{background-image:url("../openolat/images/close.png")}li a.b_toolbox_delete{background-image:url("../openolat/images/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.png")}.o_midlock{top:9px;left:9px;background-image:url("../openolat/images/decorator/deco_condition.png")}.o_miderr{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_error.png")}.o_midwarn{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_midpub{top:-2px;left:9px;background-image:url("../openolat/images/decorator/deco_ok.png")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.o_bc_icon{background-image:url("../openolat/images/folder.png") !important}.o_co_icon{background-image:url("../openolat/images/mail.png") !important}.o_cp_icon{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_dialog_icon{background-image:url("../openolat/images/docs/document_discuss.png") !important}.o_en_icon{background-image:url("../openolat/images/enrol.png") !important}.o_fo_icon{background-image:url("../openolat/images/forum/forum.png") !important}.o_iqself_icon{background-image:url("../openolat/images/le_resources/selftest.png") !important}.o_iqsurv_icon{background-image:url("../openolat/images/le_resources/survey.png") !important}.o_iqtest_icon{background-image:url("../openolat/images/le_resources/test.png") !important}.o_ms_icon{background-image:url("../openolat/images/le_resources/thumb-up.png") !important}.o_scorm_icon,.o_scorm_org{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_scorm_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_scorm_asset{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_sp_icon{background-image:url("../openolat/images/docs/document-text.png") !important}.o_st_icon{background-image:url("../openolat/images/node-select-all.png") !important}.o_ta_icon{background-image:url("../openolat/images/docs/document-task.png") !important}.o_tu_icon{background-image:url("../openolat/images/docs/document-import.png") !important}.o_wiki_icon{background-image:url("../openolat/images/le_resources/wiki.png") !important}.o_ll_icon{background-image:url("../openolat/images/docs/document_linklist.png") !important}.o_cl_icon{background-image:url("../openolat/images/clipboard-task.png") !important}.o_den_icon{background-image:url("../openolat/images/clock.png") !important}.o_projectbroker_icon{background-image:url("../openolat/images/projectbroker.png") !important}.o_podcast_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png") !important}.o_blog_icon{background-image:url("../openolat/images/le_resources/blog.png") !important}.o_cal_icon{background-image:url("../openolat/images/calendar.png") !important}.o_lti_icon{background-image:url("../openolat/images/docs/document-node.png") !important}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.png") !important}.o_infomsg_icon{background-image:url("../openolat/images/information-button.png") !important}.o_cmembers_icon{background-image:url("../openolat/images/users.png") !important}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 83px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;background-color:white;moz-box-shadow:0 0 14px #d3d3d3;-ms-box-shadow:0 0 14px #d3d3d3;-o-box-shadow:0 0 14px #d3d3d3;-webkit-box-shadow:0 0 14px #d3d3d3;box-shadow:0 0 14px #d3d3d3}#b_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 14px #d3d3d3}#b_page a#b_toplink{position:absolute;bottom:1em;right:1em;background:transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;padding-left:14px;z-index:5}#b_header,#b_page,#b_col1_content,#b_col2_content,#b_col3_content,#b_col3_content_inner{position:relative}#b_col1{overflow:hidden}#b_col1_content{padding:1em 10px 1em 0px}#b_col3{border-left:1px #DDD dotted;border-right:1px #DDD dotted}#b_col3_content{min-height:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.b_c15r,.b_c20r,.b_c80r,.b_c85r{float:right;margin-left:-5px}.b_c15l,.b_c15r{width:15%}.b_c20l,.b_c20r{width:20%}.b_c80l,.b_c80r{width:80%}.b_c85l,.b_c85r{width:85%}.b_subcolumns_oldgecko,.b_c20l,.b_c15l,.b_c80l,.b_c85l{float:left}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0  0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#b_nav_main{float:left}#b_nav_main ul{padding-left:40px;margin:0}#b_nav_main ul li{float:left;position:relative;list-style:none;margin:0px;padding:4px 3px 4px 12px;margin-right:2px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close,#b_nav_main ul li.b_nav_site.b_exception a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li.b_nav_site > div{padding-left:16px;background-repeat:no-repeat;background-position:0% 50%;background-image:url("../openolat/images/application.png")}#b_nav_main ul li.b_nav_site.o_site_home > div{background-image:url("../openolat/images/home.png")}#b_nav_main ul li.b_nav_site.o_site_admin > div{background-image:url("../openolat/images/wrench-screwdriver.png")}#b_nav_main ul li.b_nav_site.o_site_useradmin > div{background-image:url("../openolat/images/user_conf.png")}#b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div{background-image:url("../openolat/images/users_conf.png")}#b_nav_main ul li.b_nav_site.o_site_repository > div{background-image:url("../openolat/images/books-stack.png")}#b_nav_main ul li.b_nav_site.o_site_groups > div{background-image:url("../openolat/images/users.png")}#b_nav_main ul li.b_nav_site.o_site_coaching > div{background-image:url("../openolat/images/eye.png")}#b_nav_main ul li.b_nav_site.site_demo_icon > div{background-image:url("../openolat/images/information-white.png")}#b_nav_main ul li.b_nav_site.f_site_library > div{background-image:url("../openolat/images/library.png")}#b_nav_main ul li.b_nav_site.fx_members > div{background-image:url("../openolat/images/users_members.png")}#b_nav_main ul li.b_nav_site.o_site_guidemo div{background-image:url("../openolat/images/light-bulb.png")}#b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div{background-image:url(../openolat/images/users.png)}#b_nav_main ul li.b_nav_tab{margin-right:4px}#b_nav_main ul li.b_nav_tab a.b_nav_tab_close{position:absolute;top:3px;right:4px;width:13px;height:13px;line-height:0;padding:0;margin:0;background:transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top}#b_nav_main ul li.b_nav_tab.b_nav_active,#b_nav_main ul li.b_nav_tab:hover{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li#b_nav_spacer{background:none;border:none;width:20px;height:1px;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}div.b_tree ul li a.b_tree_icon{padding-left:20px;padding-top:2px;position:relative;background-position:0 50%;background-repeat:no-repeat}div.b_tree ul li a{color:#555555}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:0px;z-index:9}div.b_tree ul li a:focus,div.b_tree ul li a:hover{color:#025d8c;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:#025d8c;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:#025d8c;font-weight:bold}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li a.b_tree_l0{padding-left:13px}div.b_tree ul li a.b_tree_l1{padding-left:13px}div.b_tree ul li a.b_tree_l2{padding-left:13px}div.b_tree ul li a.b_tree_l3{padding-left:13px}div.b_tree ul li a.b_tree_l4{padding-left:13px}div.b_tree ul li a.b_tree_l5{padding-left:13px}div.b_tree ul li a.b_tree_l6{padding-left:13px}div.b_tree ul li a.b_tree_l7{padding-left:13px}div.b_tree ul li a.b_tree_l8{padding-left:13px}div.b_tree ul li a.b_tree_l9{padding-left:13px}div.b_tree ul li a.b_tree_l10{padding-left:13px}div.b_tree ul li a.b_tree_l11{padding-left:13px}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;background-repeat:no-repeat}div.b_tree ul li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree a.b_tree_level_close{background:transparent !important}div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.png") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#b_main.b_menu_toolbar #b_col1_content{padding-top:0;padding-right:0}#b_main.b_menu_toolbar #b_col3_content{padding:0}div.b_menu_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}div.b_breadcumb_path{padding:0;margin:0;float:left;display:inline}div.b_breadcumb_path ul{padding:0;margin:0;list-style:none;float:left;display:inline}div.b_breadcumb_path ul li{padding:0 7px 0 14px;margin:0;list-style:none;float:left;display:inline;background:url(../openolat/images/breadcrumb-separator.png) no-repeat left 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;padding-left:25px}div.b_breadcumb_path ul li a{color:#464444}div.b_breadcumb_path ul li span.b_disabled{color:#000;padding:0 10px 0 0;margin:0}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #dadada}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}div.b_noti{border:1px solid #E9EAEF;padding:3px 23px 3px 3px;float:right;display:inline;position:relative;right:0;font-size:95%}div.b_noti a.b_contexthelp{position:absolute;top:2px;right:2px}div.b_noti a.b_noti_unsubscribe_link{background:url(../openolat/images/mail--minus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_subscribe_link{background:url(../openolat/images/mail--plus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_markedread_link{background:url(../openolat/images/tick.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}h1.b_titled_wrapper span{padding-right:4em;font-style:italic}h2.b_titled_wrapper span{padding-right:4em;font-style:italic}h3.b_titled_wrapper span{padding-right:4em;font-style:italic}h4.b_titled_wrapper span{padding-right:3em;font-style:italic}h5.b_titled_wrapper span{padding-right:3em;font-style:italic}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content{position:relative;margin-bottom:1em}div.b_titled_wrapper_desc a.b_togglebox_hide span{position:absolute;bottom:0;right:0;padding:0 6px 3px 0}div.b_titled_wrapper_desc a.b_togglebox_hide:hover{text-decoration:underline}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}div.o_course_run_dropbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_returnbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_solutionbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.b_float_left{float:left;display:inline;margin-right:1em;margin-bottom:0.15em}.b_float_right{float:right;display:inline;margin-left:1em;margin-bottom:0.15em}.b_center{text-align:center;margin:0.5em auto}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_dd_item.b_dd_over{background-color:#ffff60}.b_dd_sibling{height:3px;width:100%}.b_dd_sibling.b_dd_over{background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat}div.b_dd_ct div.b_dd_sibling_l1{margin-left:0 !important}div.b_dd_ct div.b_dd_sibling_l2{margin-left:1em !important}div.b_dd_ct div.b_dd_sibling_l3{margin-left:2em !important}div.b_dd_ct div.b_dd_sibling_l4{margin-left:3em !important}div.b_dd_ct div.b_dd_sibling_l5{margin-left:4em !important}div.b_dd_ct div.b_dd_sibling_l6{margin-left:5em !important}div.b_dd_ct div.b_dd_sibling_l7{margin-left:6em !important}div.b_dd_ct div.b_dd_sibling_l8{margin-left:7em !important}div.b_dd_ct div.b_dd_sibling_l9{margin-left:8em !important}div.b_dd_ct div.b_dd_sibling_l10{margin-left:9em !important}div.b_dd_ct div.b_dd_sibling_l11{margin-left:10em !important}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}div.b_layer_1 div.b_modal_area{width:82%;margin:9%}div.b_layer_2 div.b_modal_area{width:76%;margin:12%}div.b_layer_3 div.b_modal_area{width:70%;margin:15%}div.b_layer_5 div.b_modal_area{width:64%;margin:18%}div.b_modal_area{position:absolute;top:0px;left:0px;width:80%;margin:10%;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid #025d8c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;background:#fff}div.b_window .b_window_header_wrapper{padding:2px 8px 0px 8px}div.b_window div.b_window_header{position:relative;border-bottom:1px solid #eee}div.b_window div.b_window_header_title{min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_window div.b_window_header_title a.b_link_close{top:4px;right:4px;position:absolute;min-height:16px;min-width:16px;background:transparent url("../openolat/images/close.png") no-repeat center center;display:inline-block}div.b_window div.b_window_header_title a.b_link_close:hover{top:4px;right:4px}div.b_window div.b_window_header_title strong{font-weight:bold}div.b_window div.b_window_content_wrapper{clear:both;width:auto;padding:0 4px 0 4px}div.b_window div.b_window_content{padding:1em}div.b_window div.b_window_content_inner{min-height:200px;position:relative}div.b_window div.b_window_footer_wrapper{height:4px}div.b_callout_content{max-width:60em;overflow:hidden}div.x-tip-tc,div.x-tip-bc{background-repeat:repeat !important}div.x-tip-body p{margin-bottom:0px}div.x-tip-mc{background:#e9f2ff !important}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}div.b_msg_dialog{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_question_32.png) no-repeat 10px 10px}div.b_msg_dialog .b_msg_title{font-weight:bold}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid #025d8c;background:#FAFAFA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_msg-div .b_msg_info_winicon{background:transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center}div.b_msg_info_content{padding:10px 10px 10px 50px}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#b_msg_info{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_info_32.png) no-repeat 10px 10px}#b_msg_info .b_msg_title{font-weight:bold}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_wizard div.b_wizard_header_title a.b_link_close{top:4px;right:4px;background:url(../openolat/images/close.png);background-repeat:no-repeat}div.b_wizard div.b_wizard_header_title strong{font-weight:bold}div.b_wizard div.b_wizard_steps_wrapper{clear:both;width:auto;padding:0 4px 0 4px;background:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}div.b_wizard div.b_wizard_steps_list li a:hover{color:#4F576A;background:transparent;text-decoration:underline}div.b_wizard div.b_wizard_steps_list li .b_disabled{color:#basegray_light;border:0;background:transparent;padding:0;margin:0;white-space:normal;font-style:italic}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}div.b_wizard div.b_wizard_footer div.b_button_group{text-align:left;padding:0.5em 1em 0.5em 21em;margin:0}span.b_wizard_button_prev:before,a.b_wizard_button_prev span:before{content:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}a.b_wizard_button_finish,span.b_wizard_button_finish{margin-left:3em}a.b_wizard_button_cancel,span.b_wizard_button_cancel{margin-left:3em}.b_wizard_table_changedcell{font-style:italic;font-weight:bold;background:url(../openolat/images/new-text.png) no-repeat;padding-left:18px}div.b_legacy_wizard_steps{float:right;display:inline}.b_legacy_wizard_step_a1{background-image:url(../openolat/images/wizard/1a.png)}.b_legacy_wizard_step_a2{background-image:url(../openolat/images/wizard/2a.png)}.b_legacy_wizard_step_a3{background-image:url(../openolat/images/wizard/3a.png)}.b_legacy_wizard_step_a4{background-image:url(../openolat/images/wizard/4a.png)}.b_legacy_wizard_step_a5{background-image:url(../openolat/images/wizard/5a.png)}.b_legacy_wizard_step_a6{background-image:url(../openolat/images/wizard/6a.png)}.b_legacy_wizard_step_a7{background-image:url(../openolat/images/wizard/7a.png)}.b_legacy_wizard_step_a8{background-image:url(../openolat/images/wizard/8a.png)}.b_legacy_wizard_step_a9{background-image:url(../openolat/images/wizard/9a.png)}.b_legacy_wizard_step_p1{background-image:url(../openolat/images/wizard/1p.png)}.b_legacy_wizard_step_p2{background-image:url(../openolat/images/wizard/2p.png)}.b_legacy_wizard_step_p3{background-image:url(../openolat/images/wizard/3p.png)}.b_legacy_wizard_step_p4{background-image:url(../openolat/images/wizard/4p.png)}.b_legacy_wizard_step_p5{background-image:url(../openolat/images/wizard/5p.png)}.b_legacy_wizard_step_p6{background-image:url(../openolat/images/wizard/6p.png)}.b_legacy_wizard_step_p7{background-image:url(../openolat/images/wizard/7p.png)}.b_legacy_wizard_step_p8{background-image:url(../openolat/images/wizard/8p.png)}.b_legacy_wizard_step_p9{background-image:url(../openolat/images/wizard/9p.png)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong{width:auto}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active{color:#000;text-decoration:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong{color:#000;font-weight:bold}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled{background:white !important}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong{color:#8994A9;background:transparent !important;font-weight:normal}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:3px;border-top-left-radius:3px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:3px}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:0px}div.b_tabbedpane_wrapper div.b_tabbedpane_content{clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner{position:relative;min-height:30em}div.b_segments_container{min-height:25px;padding-top:8px;position:relative;background:url(../openolat/images/divider.png) center top no-repeat}div.b_segments_container div.b_segments{clear:both;position:absolute;left:50%}div.b_segments_container div.b_segments a:hover{text-decoration:none}div.b_segments_container div.b_segments ul{position:relative;left:-50%;list-style-type:none;margin:0}div.b_segments_container div.b_segments ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_segments_container div.b_segments ul li a{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_segments_container div.b_segments ul li a:hover,div.b_segments_container div.b_segments ul li a:active,div.b_segments_container div.b_segments ul li a:focus{text-decoration:none}div.b_segments_container div.b_segments ul li:hover{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_segments_container div.b_segments ul li.b_segment_selected{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_segments_container div.b_segments ul li.b_segment_selected a,div.b_segments_container div.b_segments ul li.b_segment_selected strong{color:#000;font-weight:bold}div.b_segments_container div.b_segments ul li.b_segment_first{-webkit-border-top-left-radius:12px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:12px;-moz-border-radius-topleft:12px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:12px;border-top-left-radius:12px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:12px}div.b_segments_container div.b_segments ul li.b_segment_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:12px;-moz-border-radius-bottomright:12px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:0px}div.b_segments_container div.b_segment_content{margin-top:50px;clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}button{border:none}.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_button,.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center}.b_button:focus,.b_button:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_button:focus{border:1px solid #025d8c}.b_button:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border:1px solid #025d8c}.b_button.b_button_preferred{background:#dce7ec;background:-moz-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #dce7ec), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);border:1px solid #025d8c}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.b_button_dirty{background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%);border-color:#ff9900}.b_button_dirty:focus,.b_button_dirty:hover{text-decoration:none;border:1px solid #ffc20e;background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%)}.b_disabled.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;background:#fff}.b_disabled.b_button,.b_disabled.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center;cursor:default !important;color:#888}.b_disabled.b_button:focus,.b_disabled.b_button:hover{moz-box-shadow:0 0 0 transparent;-ms-box-shadow:0 0 0 transparent;-o-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}div.b_button_group{text-align:center;margin:2em 0 1em 0}div.b_button_group div{display:inline}.b_xsmall,sup,sub{font-size:80%}.b_small,small{font-size:90%}a.b_toggle{white-space:nowrap;margin:0 0.5em 0.2em 0;cursor:default;color:#2C2B2B;border:1px solid #aaa;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_off.png) top left repeat-x}a.b_toggle span{padding:0 0.8em}a.b_toggle:hover{background:#ddd;text-decoration:none}a.b_toggle.b_on:hover{background:#747474}a.b_toggle.b_on,a.b_toggle:active,a.b_toggle.b_on:active{color:white;border:none;padding:1px;moz-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-ms-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-o-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-webkit-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);text-shadow:1px 1px 2px rgba(0, 0, 0, 0.5)}a.b_toggle:focus,a.b_toggle.b_on:focus{text-decoration:none}a.b_toggle:active,a.b_toggle.b_on:active{background:url(../openolat/images/toggle_active.png) top left repeat-x}a.b_toggle.b_on{background:url(../openolat/images/toggle_on.png) top left repeat-x}span.b_toggle.b_disabled{white-space:nowrap;margin:0 0.5em 0.2em 0;padding:0 0.8em;color:#667;border:1px solid #DDD;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_dis.png) top left repeat-x}a.b_toggle_slide{background:url(../openolat/images/handle.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.2em 0.2em 0.2em;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle;position:relative}a.b_toggle_slide span{position:absolute;top:-25px;left:0}a.b_toggle_slide:hover,a.b_toggle_slide:focus,a.b_toggle_slide:active,a.b_toggle_slide.b_on:hover,a.b_toggle_slide.b_on:focus,a.b_toggle_slide.b_on:active{border:1px solid #868686;text-decoration:none}a.b_toggle_slide.b_on{background-position:-16px 0px}a.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_dis.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle}a.b_toggle_slide.b_small{background:url(../openolat/images/handle_small.png) -41px 0px no-repeat;height:16px;width:55px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}a.b_toggle_slide span{position:absolute;top:-16px}a.b_toggle_slide.b_small.b_on{background-position:-9px 0px}span.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;height:16px;width:55px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;display:inline-block;text-align:center;vertical-align:middle}span.b_toggle_slide_legend{font-size:90%}.b_link_back{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_back > span{padding:0px 8px 0px 25px;background:transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center}.b_link_back:focus,.b_link_back:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_back:focus{border-color:#025d8c}.b_link_back:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:#025d8c}.b_link_left_icon{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_left_icon:focus{border-color:#025d8c}.b_link_left_icon:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:#025d8c}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_login div.o_login_form li{list-style:none}div.o_login div.o_login_form fieldset legend{display:none}div.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border:1px solid #504D4E}input.b_checkbox,input.b_radio{height:1em;width:1em;border:0;margin:0 2px 0 0}label.b_checkbox_label,label.b_radio_label{padding-left:0.5em}.b_inline_editable{padding:1px 20px 1px 0;vertical-align:middle;min-height:16px}.b_inline_editable:hover{background-position:100% 50%;background-repeat:no-repeat;background-image:url(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #94bed3}fieldset legend{font-family:Century Gothic, Apple Gothic, sans-serif;padding:0 5px;font-size:120%;font-weight:bold}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}div.b_form div.b_form_general_error{padding:10px 10px 10px 50px;margin-bottom:20px;text-align:left;background:url(../openolat/images/icon_error_32.png) no-repeat 10px 10px;min-height:32px;border:1px solid #990000;color:#990000;font-style:italic}div.b_form div.b_form_spacer{margin:10px 0}div.b_form hr.b_form_spacer{margin:10px 0;border-bottom:1px solid #eee;padding:0}div.b_form hr.b_form_spacer.b_form_horizontal{display:inline-block;width:2em}div.b_form hr.b_form_spacer.b_form_spacer_noline{margin:10px 0;border-bottom:0;padding:0}div.b_form div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0}div.b_form div.b_form_element_wrapper.b_form_horizontal{vertical-align:middle;margin:0.5em 1em 0.5em 0;float:left;display:inline}div.b_form div.b_form_element_wrapper.b_form_vertical{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_label{width:20%;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label label{float:left;display:inline;line-height:1.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory{background:url(../openolat/images/star-small.png) no-repeat;padding-left:16px;height:16px}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal{width:auto;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical{width:auto;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:25%;padding:0 2px 0 12px}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal{margin-left:0;padding-left:0;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical{margin-left:0;margin-top:0.5em;padding-left:0;float:none;display:block;clear:both}div.b_form div.b_form_element_wrapper.b_form_error input,div.b_form div.b_form_element_wrapper.b_form_error select{border:1px solid #990000;background:#ebcccc}div.b_form div.b_form_element_wrapper div.b_form_error_msg{clear:both;color:#990000;font-style:italic;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0}div.b_form div.b_button_group{margin-left:0%;padding-left:0px;text-align:left}div.b_form.b_form_vertical div.b_button_group{text-align:left}div.b_form div.b_form_element div.b_form_example{display:inline;font-size:80%;color:#504D4E}div.b_form div.b_form_element .b_form_disabled{color:#504D4E}div.b_form div.b_form_element .b_form_element_disabled{color:#9E9C9C;background:#EEEEEE;border:1px solid #CDCBCB}div.b_form div.b_form_element span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px;padding-top:3px}div.b_form div.b_form_element a.b_form_groupchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_genericchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_wikitext{background-repeat:no-repeat;padding-left:12px;line-height:1.5em;font-style:italic}div.b_form div.b_form_element a.b_form_wikitext,div.b_form div.b_form_element .b_wiki_icon{background-image:url(../openolat/images/wiki/wiki_small_9px.png)}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}div.b_button_group div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element_label{width:auto;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element{margin-left:0}.b_subcolumns{display:table;width:100%;table-layout:fixed}.b_c25l input,.b_c25r input{max-width:93%}div.calendar{z-index:10000 !important}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element{margin:0;float:left}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label{float:none;width:auto;display:block;padding-left:2.5em}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label{float:none}div.b_form_subform{padding-left:2.5em}div.b_form_selection_vertical div.b_form_selection_element{vertical-align:middle;line-height:1.3em;position:relative}div.b_form_selection_vertical div.b_form_selection_element input{vertical-align:middle;line-height:1.3em}div.b_form_selection_horizontal div.b_form_selection_element{float:left;display:inline;padding-right:1em}div.b_form_selection_horizontal div.b_form_selection_element input{vertical-align:middle}div.b_form div.b_form_element div.b_form_togglecheck{font-size:95%;display:block;vertical-align:middle;line-height:16px;margin-top:0.5em}div.b_form div.b_form_element div.b_form_togglecheck input{height:1em;width:1em}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}table.b_choice{padding:0;margin:0}table.b_choice td{padding:0.1em;margin:0}table.b_choice td.b_togglecheck{padding-top:1em}table.b_choice td.b_togglecheck div.b_togglecheck{display:inline;border-top:1px solid #eee}table.b_choice td.b_togglecheck input{margin:0 7px 0 2px}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:absolute;top:0px;left:0px;z-index:1;display:inline;white-space:nowrap}div.b_fileinput div.b_fileinput_fakechooser a{margin-left:5px}div.b_fileinput span.b_fileinput_maxsize{padding:1px 0 1px 1em;font-style:italic;min-height:16px;vertical-align:middle}div.b_fileinput input.b_fileinput_realchooser{position:relative;top:0;left:0;z-index:2;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}div.b_fileinput div.b_button_group{text-align:left;padding-left:0;margin-left:0}.b_fileinput_icon{background-image:url(../openolat/images/drive.png)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#f3feff}div.b_progress div.b_progress_bar div{height:12px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}div.b_mark{width:20px;height:20px}div.b_mark div.b_form_element_wrapper{margin:0}div.b_mark div.b_form_element_wrapper div.b_form_element{margin:0;padding:0}div.b_mark a.b_mark_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px}div.b_mark a.b_mark_not_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}table{border-collapse:collapse;margin-bottom:0.5em;border-top:0px solid white;border-bottom:0px solid white}table caption{font-variant:small-caps}table.b_full{width:99.5%}table.fixed{table-layout:fixed}table th,table td{padding:0.3em}table thead th{color:inherit;border-bottom:1px solid #ccc}table tbody tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#f3feff}div.b_table_wrapper div.b_table_filter{float:left;display:inline;font-size:95%;margin:7px 10px 2px 0}div.b_table_wrapper div.b_table_filter label{font-style:italic;margin:5px 0 2px 0}div.b_table_wrapper div.b_table_filter select{border:1px solid #ACAAAA}div.b_table_wrapper div.b_clearfix div.b_floatbox{margin:5px 0 0 0}div.b_table_wrapper div.b_table_count{font-size:95%;float:left;line-height:16px;vertical-align:bottom;margin:3px;font-size:95%}div.b_table_wrapper a.b_table_prefs,div.b_table_wrapper a.b_table_download{float:right;display:block;background-repeat:no-repeat;background-position:top left;width:16px;height:16px;margin:3px}div.b_table_wrapper a.b_table_prefs{background-image:url(../openolat/images/table_gear.png)}div.b_table_wrapper a.b_table_download{background-image:url(../openolat/images/table_download.png)}div.b_table_wrapper div.b_table_buttons{text-align:center;margin:1.5em 0 1em 0}div.b_table_wrapper div.b_table_empty{margin:1em 0}div.b_table_page{font-size:95%;text-align:center}div.b_table_page a{margin:0;padding:2px}div.b_table_page a.b_table_page_active{font-weight:bold;color:#000}div.b_table_page a.b_table_backward{background:url(../openolat/images/arrow_left.png) no-repeat center left;padding-left:16px}div.b_table_page a.b_table_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}div.b_table_page a.b_table_first_page{background:url(../openolat/images/home.png) no-repeat center left;padding-left:18px}div.b_table_page_all{font-size:95%;text-align:center}a.b_dev{position:absolute;left:0;top:0;z-index:4000;background:red url("../openolat/images/bug.png") no-repeat;width:16px;height:16px;border:1px solid #000}#b_devcon_main{background-color:#ccddff;position:absolute;z-index:4000;top:10px;left:5%;width:90%;text-align:left;border:1px solid #000}#b_devcon_handle{cursor:move;background:blue url(../openolat/images/bug.png) no-repeat 4px 50%;line-height:2em;padding-left:24px;color:white}a#b_devcon_handle_collapse{cursor:pointer;background:url("../openolat/images/tree_parent_open.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a.b_devcon_handle_close{cursor:pointer;background:url(../openolat/images/close.png) no-repeat;width:15px;height:15px;float:right;margin:3px}#b_devcon_content{font-size:90%;padding:5px;border-top:0px solid #000;background:transparent}#b_devcon_content ul{float:left;margin:0;padding:0;list-style:none;white-space:nowrap}#b_devcon_content li{margin:0;padding:0 10px 0 0;float:left}#b_devcon_content fieldset{border-top:1px solid #ccc;margin:0;padding:8px}#b_devcon_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}#b_js_log textarea#o_debug_cons{width:99%;height:15em;font-family:monospace;font-size:110%;margin:5px 0 5px 0}iframe.o_debug_json{position:fixed;width:90%;margin-left:5%;bottom:4px;height:300px;background:white;border:2px solid #ccd8e7;z-index:90000}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}div.b_briefcase_foldercomp div.b_briefcase_createactions{margin:0.5em 0}div.b_briefcase_foldercomp div.b_briefcase_createactions ul{list-style:none;margin:0;padding:0;white-space:nowrap;font-size:95%}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li{float:right;display:inline;margin:0 0 0 1em;padding:0 0 0 3px;position:relative}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a{background-position:0 50%;background-repeat:no-repeat;padding:2px 0 2px 20px}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload{background-image:url(../openolat/images/docs/document_upload.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder{background-image:url(../openolat/images/folder_new.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile{background-image:url(../openolat/images/docs/document_add.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles{background-image:url(../openolat/images/docs/document_remove.png)}div.b_briefcase_foldercomp div.b_briefcase_breadcrumb{clear:both;padding:1px 0 1px 20px;margin:0.5em 0 0 0;background:url(../openolat/images/folder_open.png) no-repeat 0 50%}div.b_briefcase_foldercomp div.b_briefcase_empty{clear:both;margin-top:0.5em;font-style:italic}div.b_briefcase_foldercomp table.b_briefcase_filetable{clear:both;border-collapse:collapse;margin-bottom:0.5em;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a,div.b_briefcase_foldercomp table.b_briefcase_filetable thead span{color:#4F576A;font-weight:bold}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus{color:#000000;text-decoration:none;background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable th,div.b_briefcase_foldercomp table.b_briefcase_filetable td{white-space:nowrap;text-align:right;padding-right:1em}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-right:0}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child{width:60%;text-align:left}div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox{margin:0 4px 0 0}div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus{background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-left:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td{border:0;padding:0 0 0 3px;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon{background-image:url(../openolat/images/docs/document--pencil.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/locked.png)}div.b_briefcase_preview{background-color:white;width:200px;height:200px;border:1px solid #8EAACE;margin-top:2px}div.b_briefcase div.b_briefcase_searchcomp{float:left;display:inline;margin:0.5em 0;width:14em}div.b_briefcase div.b_briefcase_searchcomp input{width:10em}div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_briefcase div.b_briefcase_commandbuttons{margin:1em 0}div.b_briefcase div.b_briefcase_webdav{margin:0.5em 0}div.b_briefcase div.b_briefcase_quota{clear:both;margin-top:1em;padding-top:1em;border-top:1px solid #000}div.b_briefcase_meta{size:0.8em}div.b_briefcase_meta p{font-style:italic;margin:0;padding-top:2px}div.b_send_documents ol.textbox-outer{margin-left:0;border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em}div.b_send_documents ol li{margin-left:0}div.b_send_documents textarea{overflow:auto;resize:none}@media all{div.o_wiki_wrapper{clear:both}div.o_wiki_wrapper div.o_wikimod_btn{position:relative}div.o_wiki_wrapper div.o_wikimod_btn a{margin-bottom:9px;background-repeat:no-repeat;background-position:center center;width:20px;height:19px;float:left;display:inline;padding-left:2px;border:1px solid #ccc;background-color:#eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;margin-right:2px}div.o_wiki_wrapper div.o_wikimod_btn a:hover{border:1px solid #025d8c}div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}div.o_wiki_wrapper a.o_wikimod_btn_bold{background-image:url(../openolat/images/wiki/edit-bold.png)}div.o_wiki_wrapper a.o_wikimod_btn_italic{background-image:url(../openolat/images/wiki/edit-italic.png)}div.o_wiki_wrapper a.o_wikimod_btn_link{background:url(../openolat/images/wiki/chain.png)}div.o_wiki_wrapper a.o_wikimod_btn_extlink{background:url(../openolat/images/wiki/chain--arrow.png)}div.o_wiki_wrapper a.o_wikimod_btn_headline{background:url(../openolat/images/wiki/edit-heading.png)}div.o_wiki_wrapper a.o_wikimod_btn_image{background:url(../openolat/images/wiki/image-medium.png)}div.o_wiki_wrapper a.o_wikimod_btn_media{background:url(../openolat/images/music-beam.png)}div.o_wiki_wrapper a.o_wikimod_btn_math{background:url(../openolat/images/wiki/edit-math.png)}div.o_wiki_wrapper a.o_wikimod_btn_nowiki{background:url(../openolat/images/wiki/edit-nowiki.png)}div.o_wiki_wrapper a.o_wikimod_btn_hr{background:url(../openolat/images/wiki/edit-hr.png)}div.o_wiki_wrapper a.o_wikimod_btn_list{background:url(../openolat/images/wiki/edit-list.png)}div.o_wiki_wrapper a.o_wikimod_btn_numlist{background:url(../openolat/images/wiki/edit-list-order.png)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}div.o_wiki_wrapper h1{font-size:1.0em}div.o_wiki_wrapper h2{font-size:1.0em}div.o_wiki_wrapper h3{font-size:1.0em}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}div.o_wikimod_nav{font-size:90%;padding-top:1.5em}div.o_wikimod_nav legend{font-size:95%}div.o_wikimod_nav fieldset{padding:0.5em}div.o_wikimod_nav input{width:99%}div.o_wikimod_nav ul{margin:0;padding:0}div.o_wikimod_nav div.b_button_group{margin:0.5em 0;text-align:left}div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_wikimod_nav .b_form_element_wrapper .b_form_element{padding:0}div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{margin:0.5em 0}div.o_wikimod_editform_wrapper{clear:both;padding:0.5em 0 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label{display:none}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element{clear:both;margin-left:0;padding:0 5px 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_button_group{margin-left:0;text-align:center}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}h1.o_wikimod_heading,h3.o_wikimod_heading{margin:0 0 1em 0;padding:.5em 0 .17em 0;border-bottom:1px solid #BFBFBF}#o_wikimod_uploader{margin:1em 0 0 0}.o_wikimod_version{border:1px solid #BFBFBF;padding:4px;margin-top:5px}.o_wikimod_diff{border:1px solid #BFBFBF;padding:4px;margin:0px}.o_wikimod_warn{color:#DF9719}.o_wiki_error{background-color:#DF9719}.o_wikimod_ins{background-color:#A4DCA4}.o_wikimod_old{background-color:#FFCCCC}.o_wikimod_new{background-color:#A4DCA4}.o_wikimod_del{background-color:#FFCCCC}.wiki-image{float:right;padding:10px;clear:right}.wiki-file-deleted{text-decoration:line-through}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#eeeeee}div.o_forum div.o_forum_message_header_wrapper{min-height:24px}div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header{min-height:24px}div.o_forum div.o_forum_message_title{vertical-align:middle;padding:2px 5px 2px 5px;min-height:24px}div.o_forum div.o_forum_message_title strong{font-weight:bold}div.o_forum div.o_forum_message_new div.o_forum_message_title strong{background:url(../openolat/images/new-text.png) no-repeat top right;padding-right:20px}div.o_forum div.o_forum_message_creator{width:100px;padding:0.5em 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}div.o_forum div.o_forum_message_creator strong{font-weight:normal}div.o_forum div.o_forum_message_creator img{border:1px solid #4F576A}div.o_forum div.o_forum_message_body{padding:0.5em;background:transparent;margin-right:155px}div.o_forum div.o_forum_message_attachments{margin:2em 0 0.5em 0;border-top:1px solid #555555;font-size:95%}div.o_forum div.o_forum_message_attachments strong{display:block;margin:0.5em 0;font-weight:normal;font-style:italic}div.o_forum div.o_forum_message_attachments ul{list-style:none;margin:0;padding:0}div.o_forum div.o_forum_message_attachments li{margin:0;padding:0}div.o_forum div.o_forum_message_attachments a{background-repeat:no-repeat;background-position:0 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}div.o_forum div.o_forum_message_modified{clear:both;border-top:1px solid #506D90;padding:0.5em 0 0 0;font-size:95%;font-style:italic;text-align:center;color:#98221F}div.o_forum div.o_forum_message_actions{text-align:center;padding:0.2em 1em;padding-top:0.8em}span.o_forum_thread_sticky{font-weight:bold}span.o_forum_status_thread_icon{background-image:url(../openolat/images/forum/forum.png)}span.o_forum_status_sticky_closed_icon{background-image:url(../openolat/images/forum/sticky-note-pin_locked.png)}span.o_forum_status_sticky_icon{background-image:url(../openolat/images/forum/sticky-note-pin.png)}span.o_forum_status_closed_icon{background-image:url(../openolat/images/forum/forum_locked.png)}div.o_forum_peekview{margin:1em 0 1em 0}div.o_forum_peekview h5{font-size:1em;position:relative;left:-20px}div.o_forum_peekview div.o_forum_peekview_message{padding-left:20px;padding-bottom:15px}div.o_forum_peekview div.b_quote_wrapper{display:none}.o_forum_message_icon{background-image:url(../openolat/images/forum/balloon-white-left.png)}div.o_forum_toolbar{float:left;display:inline;width:75%}div#o_forum_fulltextsearch{float:right;display:inline}div#o_forum_fulltextsearch input{width:10em}div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_struct_edit_btn{float:right;display:inline}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:white;padding-right:1em;overflow-x:auto}.b_artefact{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}div.o_ep_toc_editor div.b_subcl{min-height:35em}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:#FFF;padding-right:1em;overflow-x:auto}div.b_struct_edit_btn{float:right;display:inline}div.b_struct_submit_assess_btn{float:right;display:inline}.b_artefact div.b_actions{margin-top:2em}.b_artefact div.b_desc{font-style:italic;margin:1em 0}.b_ep_artAttribLink{background-image:url(../openolat/images/table_gear.png)}div.b_artefact_closed{font-size:25px;float:right;background:url(../openolat/images/locked.png) top right no-repeat}div.b_eportfolio_preview_c100l .b_artefact{margin:3px}div.b_eportfolio_preview_c33l .b_artefact{font-size:85%;margin:3px}.b_ep_nolink{color:#000000}.b_ep_nolink:hover{color:#000000;text-decoration:none}.b_ep_multiartefacts div.b_ep_add_message_with_arrow{position:relative;top:-50px}.b_ep_multiartefacts div.b_artefact_count{margin:1em 0 1em 0}a.b_ep_options{background:url(../openolat/images/gear.png) top left no-repeat;width:16px;height:16px;display:block}.b_ep_liveblog_icon{background-image:url(../openolat/images/portfolio/ep_liveblog_icon.png)}div.b_portfolio_toc ul{margin:0}div.b_portfolio_toc li{list-style-type:none}div.b_portfolio_toc li a{font-size:0.8em;text-decoration:none}div.b_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}div.b_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}div.b_portfolio_toc li.level3{padding-left:40px}div.b_portfolio_toc .link{float:right;margin-right:0px}div.b_portfolio_toc .commentlink{float:right;margin-right:10%}div.b_portfolio_toc .type_artefact{font-style:italic}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.b_portfolio_toc .type_artefact{background-position:center left;background-repeat:no-repeat;padding-left:20px}a.b_eportfolio_add{background:url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;display:block;width:16px;height:16px}td a.b_eportfolio_add{float:right;padding-right:2px}a.b_eportfolio_add_again,span.b_eportfolio_add_again{background:url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;display:block;width:16px;height:16px}.o_efficiencystatement a.b_eportfolio_add_again{float:right}a.b_eportfolio_link{background:url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;display:block;width:16px;height:16px}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}ul.b_eportfolio_maps{margin:0;padding:0}ul.b_eportfolio_maps li{display:block;float:left;position:relative;width:195px;height:320px;padding:60px 60px 40px 65px;margin:0.5em;background:url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-box-shadow:0 1px 3px lightgray;box-shadow:0 1px 3px lightgray}ul.b_eportfolio_maps li .b_map_info{position:absolute;bottom:40px;width:inherit;font-size:0.9em}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}.epmst-green div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}.epmst-red div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}.epmst-blue div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}ul.b_eportfolio_maps li.leather{background:url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.leather a{color:#fad9a4}ul.b_eportfolio_maps li.comic{background:url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.template.default{background-image:url(../openolat/images/portfolio/eportfolio_map_default_template.png)}ul.b_eportfolio_maps li.template.comic{background-image:url(../openolat/images/portfolio/eportfolio_map_comic_template.png)}ul.b_eportfolio_maps li.template.leather{background-image:url(../openolat/images/portfolio/eportfolio_map_leather_template.png)}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}.b_eportfolio_map{background:white;padding:1.5em;min-height:30em}.b_eportfolio_map .b_ep_relative{position:relative}.b_eportfolio_toolbar div{display:inline}.b_eportfolio_toolbar{text-align:right;width:100%;border-bottom:1px solid #acaaaa;padding:1px 2px 4px 2px;margin-bottom:6px}.b_eportfolio_map a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:right;display:inline;background-repeat:no-repeat;margin-left:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_toolbar a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:none;display:inline-block;background-repeat:no-repeat;margin-left:0;margin-right:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_map div.b_eportfolio_add_link{float:left;display:inline;margin-top:2px}.o_ep_toc_editor .b_eportfolio_add_link{float:left}.b_eportfolio_map .b_eportfolio_add_link:hover{text-decoration:none}.b_eportfolio_map .b_eportfolio_comment_link{float:right;display:inline;margin-right:5px}.b_ep_tag_cloud{padding:1em 0 1em 0;border-bottom:1px solid #ccc}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{min-height:40em;background:#f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;padding:1em;-webkit-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-moz-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-o-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2)}.b_eportfolio_page .b_eportfolio_structure > h5{border-bottom:1px solid #ddd;margin-top:1.2em}.b_eportfolio_edit{margin-top:1.5em}.b_eportfolio.b_artefacts hr.b_ep_filter_spacer{height:10px;background:url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;border:none;border-top:1px solid #ccc;margin:2em 0 1em}.b_eportfolio.b_artefacts .b_ep_content{background:white;padding:0 1em 1em 1em;margin-top:1.5em}.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter{padding:0;width:80%}.b_ep_filter{float:left}.b_ep_viewmode{float:right;width:15%}.b_ep_add_artefact{float:right}.b_ep_content div.b_ep_viewmode div.b_form_element_label{width:auto}.b_eportfolio.b_artefacts div.b_segments_container{top:-20px;margin-bottom:-20px}.b_ep_tagbrowser{width:30%;margin-right:0px}.b_ep_tagbrowser_view{width:68%;margin-left:0px}.b_ep_collection_icon{background-image:url(../openolat/images/portfolio/ep_collection.png) !important}.b_ep_map_icon,.b_portfolio_toc .type_map{background-image:url(../openolat/images/portfolio/briefcase.png) !important}.b_ep_page_icon,.b_portfolio_toc .type_page{background-image:url(../openolat/images/portfolio/ep_page.png) !important}.b_ep_page_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_page_add.png) !important}.b_ep_struct_icon,.b_portfolio_toc .type_struct{background-image:url(../openolat/images/portfolio/ep_struct.png) !important}.b_ep_struct_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_struct_add.png) !important}.type_artefact{background-image:url(../openolat/images/le_resources/portfolio.png) !important}div.b_eportfolio_collect_restriction{margin-top:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a{padding-left:0px;text-decoration:none}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover{text-decoration:none}div.b_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper p{padding:0 0 0 15px;margin:0}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content{padding:3px 3px 3px 3px;margin:0;border:1px solid red;background-image:none;background-color:transparent;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #FF9900 !important;background:#fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #F0F0F0 !important;background:#fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide{display:none}.b_eportfolio_deadline_callout{width:300px}.b_ep_multiartefacts .b_c50l{clear:both}.b_eportfolio_fulltextsearch{float:left}.b_eportfolio_share_policy_wrapper{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.b_eportfolio_share_policy_wrapper .b_float_right{text-align:right}.b_eportfolio_share_policy_wrapper a.bit-input{text-decoration:none}.b_eportfolio_share_policy div input,.b_eportfolio_share_policy div span,.b_eportfolio_share_policy div select{float:left;margin-right:5px;padding-right:5px}.b_eportfolio_share_policy div span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}.b_eportfolio_share_policy .b_ep_share_date span{float:left}.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy{padding-left:20px;background:url(../openolat/images/user.png) top left no-repeat}.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy{background-image:url(../openolat/images/share.png)}.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}div.b_ep_inline div input,div.b_ep_inline div span,div.b_ep_inline div select{float:left;margin-right:5px;padding-right:5px}.default div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.default div.b_pagination{float:none;position:static;width:100%}.default div.b_pagination ul{margin:0}.default div.b_pagination li{float:left;display:inline;width:auto;margin:2px 2px 2px 0;padding:0;background:#FAFAFA;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.default div.b_pagination li.b_disabled{padding-bottom:2px;margin-bottom:0;background:#f4f4f4}.default div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.default div.b_pagination li.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.comic div.b_pagination{position:absolute;right:0;width:16%;max-height:100%;overflow-x:hidden;overflow-y:auto;z-index:100}.comic .b_ep_relative > div:last-child{position:relative}.comic div.b_ep_actualpage{width:85%;margin-top:1em}.comic div.b_pagination ul{margin-top:30px;margin-left:0px;z-index:1}.comic div.b_pagination li{width:87%;background:url(../openolat/images/portfolio/postit.png) center right;padding:0;margin-bottom:1em;margin-left:8%;list-style-type:none}.comic div.b_pagination li span.b_disabled,.comic div.b_pagination li a span{display:block;padding:20px 15px 20px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li,.comic div.b_pagination li span,.comic div.b_pagination li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li.b_disabled{z-index:101;margin-left:0;width:100%}.comic div.b_pagination li .b_disabled{color:black;font-weight:bold}.comic div.b_pagination li.b_toc,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.leather div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.leather .b_map_header h4,.leather .b_map_header p,.leather .b_map_header a.b_eportfolio_add_link,.leather .b_map_header a.b_eportfolio_comment_link{color:white}.leather .b_eportfolio_mapowner{color:#fff}.leather div.b_pagination{float:none;position:static;width:100%}.leather div.b_pagination ul{margin:0}.leather div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.leather div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.leather div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.leather div.b_pagination li.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}div.o_module_cp_wrapper a.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}div.o_module_cp_wrapper div#o_local_fulltextsearch{position:absolute;top:0;right:0;z-index:10}div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_module_cp_wrapper div.o_cp_navigation{float:right;display:inline;padding:3px 0 3px 3px;background:#ebebeb;border:1px solid #ddd;white-space:nowrap;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey}div.o_module_cp_wrapper div span a{margin:0 2px}div.o_module_cp_wrapper div span.b_disabled{display:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon{background-image:url("../openolat/images/arrow_left_big.png");text-decoration:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_next_icon{background-image:url("../openolat/images/arrow_right_big.png")}div.o_module_cp_wrapper div span a.o_cp_next_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_print_icon{background-image:url("../openolat/images/printer.png")}div.o_module_cp_wrapper div span a.o_cp_print_icon span{display:none}div.o_module_cp_wrapper div.o_cp_navigation div,div.o_module_cp_wrapper div.o_cp_navigation form{display:inline}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix{display:inline;clear:none}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after{display:inline;height:0;clear:none;visibility:hidden}#o_cpeditor_menu div.o_cpeditor_menu_tree{padding:10px 0 0 0}#b_col1 div.b_menu_toolbar a,#b_col3 div.b_menu_toolbar a{width:16px;height:16px;margin:3px;float:right;display:inline;background-repeat:no-repeat}a.o_cpeditor_import{background-image:url("../openolat/images/docs/document_upload.png")}a.o_cpeditor_new{background-image:url("../openolat/images/docs/document_add.png")}a.o_cpeditor_copy{background-image:url("../openolat/images/docs/document_copy.png")}a.o_cpeditor_delete{background-image:url("../openolat/images/docs/document_remove.png")}a.o_cpeditor_edit{background-image:url(../openolat/images/docs/document_metadata_edit.png)}a.o_cpeditor_preview{background-image:url(../openolat/images/docs/document_preview.png)}#o_cpeditor_content div.o_cpeditor_message{padding:20px}#o_qti_run div.b_button_group{text-align:left}#o_qti_run_title{text-align:right}#o_qti_run_title strong{float:left;display:inline}#o_qti_run.o_qti_survey #o_qti_run_title strong{background:url(../openolat/images/le_resources/survey.png) no-repeat left 50%;padding-left:20px}#o_qti_run.o_qti_test #o_qti_run_title strong{background:url(../openolat/images/le_resources/test.png) no-repeat left 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}#o_qti_scoreinfo{float:left;display:inline;padding:.3em;border:1px solid silver;margin-right:1em}#o_qti_run_score{clear:both;margin:1em 0;padding:0 0 1.5em 0;font-size:90%}#o_qti_run_scoreinfo{float:left;display:inline}#o_qti_run_scoreprogress{float:left;display:inline;margin-left:1em}#o_qti_questioninfo{float:left;display:inline;padding:.3em;border:1px solid silver}#o_qti_run_questioninfo{float:left;display:inline;margin-left:1em}#o_qti_run_questionprogress{float:left;display:inline;margin-left:1em}#o_qti_run_status{clear:both}#o_qti_run_main{clear:both;border-top:1px solid #504D4E;margin:0.5em 0;padding:1em 0}#o_qti_run_menu_inner h4{font-size:100%}#o_qti_run_menu_inner ul{padding:0;margin:0;list-style:none}#o_qti_run_menu_inner li{clear:both;padding:0;margin:0;white-space:normal}#o_qti_run_menu_inner li.o_qti_menu_section{padding:1em 0}#o_qti_run_menu_inner li div.o_qti_menu_item,#o_qti_run_menu li div.o_qti_menu_section{float:left;display:inline;margin-right:10px}#o_qti_results td{padding:0}#b_main.o_editor_qti_correct{background-image:url(../openolat/images/qti/correct_bg.png);background-position:top left}#b_main.o_editor_qti{background-image:url(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.png) no-repeat left 50%;cursor:help;padding-left:20px}#o_qti_solutions a{background:url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;cursor:help;padding-left:20px}.qti_response_level_feedback_label{margin-top:1em;font-style:italic}.qti_edit_layout{position:relative;padding-right:30px;margin-bottom:0.6em}.qti_edit_layout .edit_link{position:absolute;top:10px;right:0px}div.o_qti_item{margin-bottom:2em;margin-top:2em;line-height:2em}div.o_qti_item input.b_radio,div.o_qti_item input.b_checkbox{margin-left:1em}div.o_qti_item textarea{width:99%}img.o_qti_item_matimage{vertical-align:middle}div.o_qti_item_choice{display:table;margin:1em 0}div.o_qti_item_choice_option{display:table;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option_flow{display:table-cell;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option:hover{border:1px solid silver}div.o_qti_item_choice_option_flow:hover{border:1px solid silver}div.o_qti_item_choice_option_input{display:table-cell;vertical-align:middle;padding-right:.5em}div.o_qti_item_choice_option_input input{vertical-align:middle}div.o_qti_item_choice_option_value{display:table-cell}div.o_qti_item_choice_option_autoenum{display:table-cell;line-height:1.5em;width:1em;overflow:hidden;vertical-align:middle;color:silver;border:0;padding:0;margin:0}#o_qti_menu a{text-decoration:none}.o_qti_menu_section{padding:.3em;border-top:1px solid #94bed3}.o_qti_menu_section_clickable{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_section_clickable:hover{padding:.3em;border:1px solid silver;display:inline-block}.o_qti_menu_section_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_item_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item_active:hover{border:1px solid silver}.o_qti_menu_item_inactive{padding:.3em;border:1px solid transparent}.o_qti_menu_item:hover{border:1px solid silver}.o_qti_menu_item_closed{padding:.3em;border:1px solid transparent}.o_qti_menu_item_attempts_marked,.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;color:silver;padding:.2em .4em;border:1px solid transparent;background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{color:silver;border:1px solid silver;cursor:pointer}#o_qti_item_note{padding:0;margin:0;border:0;color:silver;font-family:inherit;font-size:1em;background:inherit;overflow:hidden}.o_qti_item_note_box{border:1px dashed silver;padding:.1em;margin:0;padding-left:.5em}div.o_qti_item_note_box_title{color:silver}div.o_qti_item_itemfeedback,div.o_qti_item_assessfeedback,div.o_qti_item_o_qti_item_sectionfeedback{margin:1em 0;background:url(../openolat/images/lightning.png) no-repeat left 50%;padding-left:20px}div.o_qti_item_objectives{margin:1em 0;background:url(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.o_qti_timelimit_icon{background-image:url(../openolat/images/qti/time.png)}.o_qti_attemptslimit_icon{background-image:url(../openolat/images/qti/tries.png)}.o_qti_closed_icon{background-image:url(../openolat/images/qti/closed.png)}.o_mi_qtialientitem{background-image:url(../openolat/images/docs/document_plain.png)}.o_mi_qtisc{background-image:url(../openolat/images/qti/scItem.png)}.o_mi_qtimc{background-image:url(../openolat/images/qti/mcItem.png)}.o_mi_qtikprim{background-image:url(../openolat/images/qti/kprimItem.png)}.o_mi_qtifib{background-image:url(../openolat/images/qti/fibItem.png)}.o_mi_qtiessay{background-image:url(../openolat/images/qti/essayItem.png)}.o_mi_qtisection{background-image:url(../openolat/images/qti/section.png)}.o_mi_iqtest{background-image:url(../openolat/images/le_resources/test.png)}.o_mi_iqsurv{background-image:url(../openolat/images/le_resources/survey.png)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}div.b_translation_start div.b_translation_start_body,div.b_translation_edit div.b_translation_edit_body{margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package{margin-bottom:0.5em;padding:1em 0 0.5em 0;border-bottom:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package div.b_translation_package_icon{margin-bottom:0.5em;border-bottom:1px solid #ACAAAA}div.b_translation_edit div.b_button_group{text-align:center;margin:1em 0 0 0}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar{float:left;display:inline}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label{float:left;display:inline;padding:0 0 0 1em;font-size:90%;font-style:italic}div.b_translation_edit div.b_translation_edit_body textarea{width:99%}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation{margin-top:1em}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_form_element textarea.b_form_element_disabled{color:#000;background:#EEEEEE;border:1px solid #CDCBCB}div.b_translation_edit div.b_translation_edit_annotation h5{font-weight:normal;font-size:100%;font-style:italic}div.b_translation_edit div.b_translation_edit_annotation textarea{font-style:italic}div.b_translation_edit div.b_translation_refKey{background-image:url(../openolat/images/magnifier-zoom.png);vertical-align:middle;background-color:#eee;border:1px solid #ACAAAA;margin-right:1%}div.b_translation_edit div.b_translation_refKey code{line-height:1em;vertical-align:middle}div.b_translation_edit div.b_translation_refKey span{line-height:1em;font-style:italic}div.b_translation_config span.b_translation_status,ul.b_translation_status span.b_translation_status{position:absolute;right:1em}ul.b_translation_status{column-count:2;-moz-column-count:2;list-style:none}ul.b_translation_status li{position:relative}.b_translation_package_icon{background-image:url(../openolat/images/folder_open.png) !important}.b_translation_item_icon{background-image:url(../openolat/images/docs/document-node.png) !important}.b_translation_search_icon{background-image:url(../openolat/images/magnifier-zoom.png) !important}span.b_translation_i18nitem{position:relative !important}span.b_translation_i18nitem a.b_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:16px !important;height:16px !important;top:0 !important;left:5px !important;background:#eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;border:1px solid #6e6e6e !important;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;padding:0 !important}div.b_selectiontree{font-size:95%}div.b_selectiontree div.b_selectiontree_item{clear:both;position:relative;top:0;left:0;vertical-align:middle;height:16px;width:auto}div.b_selectiontree div.b_selectiontree_item div{width:16px;height:16px;float:left;display:inline;background-repeat:no-repeat}div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content{float:left;display:inline;margin-left:0.5em;width:auto;white-space:nowrap}div.b_selectiontree div.b_selectiontree_content{width:auto}div.b_selectiontree div.b_selectiontree_content div{width:auto}div.b_selectiontree div.b_selectiontree_content input{width:1em;height:1em;padding:0;margin:0 0.5em;vertical-align:middle}div.b_selectiontree div.b_selectiontree_content input.b_radio{margin:0}div.b_selectiontree .b_selectiontree_line{background-image:url(../openolat/images/tree/dots.gif)}div.b_selectiontree .b_selectiontree_space{background-image:url(../openolat/images/tree/dots_spacer.gif)}div.b_selectiontree .b_selectiontree_junction{background-image:url(../openolat/images/tree/dots_nt.gif)}div.b_selectiontree .b_selectiontree_end{background-image:url(../openolat/images/tree/dots_nl.gif)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#o_course_editor_errorbox{font-size:90%;padding:3px 2px 2px 25px;margin:0 0 1em 0}div.o_courseeditor_legend{margin-top:3em}div.o_courseeditor_legend strong{font-weight:bold}div.o_courseeditor_legend div{top:0;left:0;padding-left:12px;background-repeat:no-repeat;background-position:0 50%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #94bed3}#b_main.b_preview{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid #025d8c;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.b_tag_list{background:url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important}.b_tag_icon{background-image:url(../openolat/images/tag-label-yellow.png)}div.b_tags{margin:2em 0}div.b_tags div{padding:0.5em 0 0 20px}div.b_tags span.b_tag{font-size:80%;padding:5px 2px 5px 2px;line-height:3em;white-space:nowrap}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}a.bit-box,span.b_tag{-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #CAD8F3;background:#DEE7F8;padding:1px 5px 2px;padding-right:15px;position:relative}div.holder{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}div.holder a{float:left;margin:0 5px 4px 0}div.holder a.bit{text-decoration:none;color:black}div.holder a.bit:active,div.holder a.bit:focus{outline:none}div.holder a.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff}div.holder a.bit-input .maininput{border:1px solid #eeeeee}div.holder a.bit-input input{width:100px;margin:0;border:none;background:white;outline:0;padding:3px 0 2px}div.holder a.bit-input input.smallinput{width:20px}div.holder a.bit-hover{background:#BBCEF1;border:1px solid #6D95E0}div.holder a.bit-box-focus{background:#598BEC;color:#fff}div.holder a.bit-box a.closebutton{position:absolute;right:0;top:5px;display:block;width:7px;height:7px;font-size:1px;background:url("../openolat/images/tag_x.gif")}div.holder a.bit-box a.closebutton:hover{background-position:7px}div.holder a.bit-box a.closebutton:active{outline:none}div.holder a.bit-box-focus a.closebutton,div.holder a.bit-box-focus a.closebutton:hover{background-position:bottom}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.textboxlist-auto .default{padding:5px 7px;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul{display:none;margin:0;padding:0;overflow:auto}.textboxlist-auto ul li{padding:5px 12px;z-index:1000;cursor:pointer;margin:0;list-style-type:none;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul li.loading-indicator{padding-left:30px;background-position:5px center;cursor:defat;font-size:100.01% !important;line-height:1.5em}.textboxlist-auto ul li.more-indicator{cursor:defat;font-style:italic}.textboxlist-auto ul li em{font-weight:bold;font-style:normal;background:#ccc}.textboxlist-auto ul li.auto-focus{background:#4173CC;color:#fff}.textboxlist-auto ul li.auto-focus em{background:none}input.inputMessage{color:#AAA;font-size:11px}.b_wizard .textbox-outer{background:url(../openolat/images/tag-label-yellow.png) top left no-repeat}.b_wizard .textbox-outer li{margin-left:18px}.b_wizard .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;margin:10px;min-height:13em}.b_portlet .b_portlet_showall{font-size:95%;position:absolute;right:0;top:0}.b_portlet .b_portlet_header{border-bottom:1px solid #94bed3;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet.b_portlet_edit{background:#FFE793;border:1px solid #FF9E3E;padding:2px}div.b_portlet.b_portlet_edit .b_portlet_header{height:23px}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}div.b_portlet_toolbox a,div.b_portlet_toolbox span.b_disabled{background-repeat:no-repeat;background-position:1px 1px;float:right;width:18px;height:18px;overflow:hidden}div.b_portlet_toolbox div{display:inline}div.b_portlet_toolbox > a,div.b_portlet_toolbox > span{border:1px solid #888;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;background:#eee;background-repeat:no-repeat;background-position:center}div.b_portlet_toolbox a.b_portlet_edit_left{background-image:url(../openolat/images/arrow_left_big.png)}div.b_portlet_toolbox a.b_portlet_edit_right{background-image:url(../openolat/images/arrow_right_big.png)}div.b_portlet_toolbox a.b_portlet_edit_down{background-image:url(../openolat/images/arrow_down_big.png)}div.b_portlet_toolbox a.b_portlet_edit_up{background-image:url(../openolat/images/arrow_up_big.png)}div.b_portlet_toolbox a.b_portlet_edit_delete{background-image:url(../openolat/images/bin-metal-full.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_auto{background-image:url(../openolat/images/table_sort.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_manual{background-image:url(../openolat/images/table_gear.png)}div.b_portlet_toolbox span.b_portlet_edit_left_disabled{background-image:url(../openolat/images/arrow_left_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #94bed3;background:inherit}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head{vertical-align:top}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong{font-weight:bold}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon{background:transparent no-repeat 3px 50%;padding-left:19px;line-height:1.2em;color:black}.b_toolboxes .b_toolbox .b_toolbox_content ul{padding:0 0 0 6px;margin:0;list-style:none}.b_toolboxes .b_toolbox .b_toolbox_content li{padding:0;margin:0;line-height:1.7em;white-space:nowrap}.b_toolboxes .b_toolbox .b_toolbox_content li a{color:#667;background-repeat:no-repeat;background-position:0 50%;padding-left:20px;display:block}.b_toolboxes .b_toolbox .b_toolbox_content li a:focus,.b_toolboxes .b_toolbox .b_toolbox_content li a:hover,.b_toolboxes .b_toolbox .b_toolbox_content li a:active{color:#504D4E;text-decoration:underline}.b_toolboxes .b_toolbox .b_toolbox_content li div.b_note,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_important,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning{padding:0 0 0 20px;margin:0;border-bottom:0}.b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle{padding-left:0;display:inline}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper{float:right;font-size:90%}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled,.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled{color:#999;background:no-repeat 0 50% url(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}#b_main.o_coaching div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}#b_main.o_coaching div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress{background:#f85032;background:-moz-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f85032), color-stop(50%, #f16f5c), color-stop(51%, #f6290c), color-stop(100%, #e73827));background:-webkit-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-o-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-ms-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background:#9dd53a;background:-moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #9dd53a), color-stop(50%, #a1d54f), color-stop(51%, #80c217), color-stop(100%, #7cbc0a));background:-webkit-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-o-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-ms-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%)}#b_main.o_coaching div.o_eff_statement_details{margin:10px 0 10px 0}#b_main.o_coaching .b_toolbar_center span.b_disabled{display:none}div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background-color:#81afca}.o_eff_statement_rg div.o_eff_statement_progress{background-color:red}.o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background-color:green}div.o_eff_statement_details{margin:10px 0 10px 0}div.o_eff_statement_recalculating{padding-left:30px;background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}
+**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 20px;min-height:16px;background-position:0 50%;background-repeat:no-repeat}option.b_with_small_icon_left{padding:0 0 0 20px;vertical-align:middle;min-height:11px;background-position:0 50%;background-repeat:no-repeat}.b_with_small_icon_right{padding:1px 20px 1px 0px;min-height:16px;background-position:100% 50%;background-repeat:no-repeat}.b_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{background-image:url("../openolat/images/exclamation.png")}.b_error_icon{background-image:url("../openolat/images/cross-circle.png")}.b_new_icon{background-image:url("../openolat/images/new-text.png")}.b_institution_icon{background-image:url("../openolat/images/home.png")}.b_group_icon{background-image:url("../openolat/images/users.png")}.b_user_icon{background-image:url("../openolat/images/user.png")}.b_move_left_icon{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon{background-image:url("../openolat/images/arrow_right_big.png")}.b_move_down_icon{background-image:url("../openolat/images/arrow_down_big.png")}.b_move_up_icon{background-image:url("../openolat/images/arrow_up_big.png")}.b_delete_icon{background-image:url("../openolat/images/bin-metal-full.png")}.b_share_icon{background-image:url("../openolat/images/share.png")}.b_status_enabled_icon{background-image:url("../openolat/images/tick.png")}.b_status_disabled_icon{background-image:url("../openolat/images/cross.png")}.b_edit_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.b_add_icon{background-image:url("../openolat/images/plus-circle.png")}.b_open_icon{background-image:url("../openolat/images/control/control.png")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.png)}.o_fulltext_search_button{background-image:url("../openolat/images/magnifier-zoom.png")}.o_help_icon{background-image:url("../openolat/images/help.png")}.o_rss_icon{background-image:url("../openolat/images/feed.png")}.o_login_guests{background-image:url("../openolat/images/user_silhouette.png")}.o_login_pwd{background-image:url("../openolat/images/user_excl.png")}.o_login_register{background-image:url("../openolat/images/user_register.png")}.o_news_icon{background-image:url("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.png")}.b_flag_en{background-image:url("../openolat/images/flags/gb.png")}.b_flag_de{background-image:url("../openolat/images/flags/de.png")}.b_flag_fr{background-image:url("../openolat/images/flags/fr.png")}.b_flag_it{background-image:url("../openolat/images/flags/it.png")}.b_flag_es{background-image:url("../openolat/images/flags/es.png")}.b_flag_da{background-image:url("../openolat/images/flags/dk.png")}.b_flag_cs{background-image:url("../openolat/images/flags/cz.png")}.b_flag_el{background-image:url("../openolat/images/flags/gr.png")}.b_flag_ee{background-image:url("../openolat/images/flags/ee.png")}.b_flag_ru{background-image:url("../openolat/images/flags/ru.png")}.b_flag_pl{background-image:url("../openolat/images/flags/pl.png")}.b_flag_zh_CN{background-image:url("../openolat/images/flags/cn.png")}.b_flag_zh_TW{background-image:url("../openolat/images/flags/tw.png")}.b_flag_lt{background-image:url("../openolat/images/flags/lt.png")}.b_flag_fa{background-image:url("../openolat/images/flags/ir.png")}.b_flag_pt_PT{background-image:url("../openolat/images/flags/pt.png")}.b_flag_pt_BR{background-image:url("../openolat/images/flags/br.png")}.b_flag_tr{background-image:url("../openolat/images/flags/tr.png")}.b_flag_hu{background-image:url("../openolat/images/flags/hu.png")}.b_flag_sq{background-image:url("../openolat/images/flags/al.png")}.b_flag_in{background-image:url("../openolat/images/flags/id.png")}.b_flag_ar{background-image:url("../openolat/images/flags/eg.png")}.b_flag_rm{background-image:url("../openolat/images/flags/rm.png")}.b_flag_af{background-image:url("../openolat/images/flags/za.png")}.b_flag_vi{background-image:url("../openolat/images/flags/vn.png")}.b_flag_mn{background-image:url("../openolat/images/flags/mn.png")}.b_flag_iw{background-image:url("../openolat/images/flags/il.png")}.b_flag_ko{background-image:url("../openolat/images/flags/kr.png")}.b_flag_nl_NL{background-image:url("../openolat/images/flags/nl.png")}.b_flag_jp{background-image:url("../openolat/images/flags/jp.png")}.b_flag_nb_NO{background-image:url("../openolat/images/flags/no.png")}.b_flag_et_EE{background-image:url("../openolat/images/flags/ee.png")}.b_flag_bg{background-image:url("../openolat/images/flags/bg.png")}.b_flag_hi_IN_ASIA{background-image:url("../openolat/images/flags/in.png")}.b_flag_ar_LB{background-image:url("../openolat/images/flags/lb.png")}.b_flag_de_FX_business{background-image:url("../openolat/images/flags/de.png")}.b_flag_de_FX_school{background-image:url("../openolat/images/flags/de.png")}.b_flag_en_FX_business{background-image:url("../openolat/images/flags/gb.png")}.b_flag_en_FX_school{background-image:url("../openolat/images/flags/gb.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_avi_icon{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_bat_icon{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_bmp{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_css{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_dvi{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_exe{background-image:url("../openolat/images/docs/document-binary.png") !important}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder,.b_filetype_folder_open{background-image:url("../openolat/images/folder_open.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.png") !important}.b_filetype_gif{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_gz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_jpeg,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_js{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_log{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_midi{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_mpeg,.b_filetype_mpg{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_odp{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ods{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_odt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_odg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_odf{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_png{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_ppt{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ps{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_readme,.b_filetype_README{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_rtf{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_tiff{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_xml{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_zip{background-image:url("../openolat/images/docs/document-zipper.png") !important}li.b_nav_site div,li.b_nav_tab div{background:url("../openolat/images/application.png") no-repeat left 50%;padding-left:18px}li.b_resource_BusinessGroup div,.o_BusinessGroup_icon{background-image:url("../openolat/images/users.png")}li.b_resource_GroupCard div,.o_GroupCard_icon{background-image:url("../openolat/images/users.png")}li.b_resource_CourseModule div,.o_CourseModule_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li.b_resource_HOMEPAGECONFIG div,.o_HOMEPAGECONFIG_icon,li.b_resource_Identity div{background-image:url("../openolat/images/card-address.png")}li.b_resource_FileResource-SHAREDFOLDER div,.o_FileResource-SHAREDFOLDER_icon{background-image:url("../openolat/images/folder_shared.png")}li.b_resource_FileResource-WIKI div,.o_FileResource-WIKI_icon{background-image:url("../openolat/images/le_resources/wiki.png")}li.b_resource_FileResource-PODCAST div,.o_FileResource-PODCAST_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li.b_resource_FileResource-BLOG div,.o_FileResource-BLOG_icon{background-image:url("../openolat/images/le_resources/blog.png")}li.b_resource_FileResource-MOVIE div,.o_FileResource-MOVIE_icon{background-image:url("../openolat/images/docs/document-film.png")}li.b_resource_FileResource-PDF div,.o_FileResource-PDF_icon{background-image:url("../openolat/images/docs/document-pdf.png")}li.b_resource_FileResource-PPT div,.o_FileResource-PPT_icon{background-image:url("../openolat/images/docs/document-powerpoint.png")}li.b_resource_FileResource-DOC div,.o_FileResource-DOC_icon{background-image:url("../openolat/images/docs/document-word.png")}li.b_resource_FileResource-IMSCP div,.o_FileResource-IMSCP_icon{background-image:url("../openolat/images/le_resources/box.png")}li.b_resource_FileResource-SCORMCP div,.o_FileResource-SCORMCP_icon{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li.b_resource_FileResource-FILE div,.o_FileResource-FILE_icon{background-image:url("../openolat/images/docs/document_plain.png")}li.b_resource_FileResource-IMAGE div,.o_FileResource-IMAGE_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SOUND div,.o_FileResource-SOUND_icon{background-image:url("../openolat/images/docs/document-music.png")}li.b_resource_FileResource-XLS div,.o_FileResource-XLS_icon{background-image:url("../openolat/images/docs/document-excel.png")}li.b_resource_FileResource-ANIM div,.o_FileResource-ANIM_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SURVEY div,.o_FileResource-SURVEY_icon{background-image:url("../openolat/images/le_resources/survey.png")}li.b_resource_FileResource-TEST div,.o_FileResource-TEST_icon{background-image:url("../openolat/images/le_resources/test.png")}li.b_resource_FileResource-GLOSSARY div,.o_FileResource-GLOSSARY_icon{background-image:url("../openolat/images/le_resources/glossary.png")}li.b_resource_org-olat-search-ui-SearchController div,.o_org-olat-search-ui-SearchController_icon{background-image:url("../openolat/images/magnifier-zoom.png")}li.b_resource_EPStructuredMapTemplate div{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.o_toolbox_course{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li a.o_toolbox_content{background-image:url("../openolat/images/le_resources/box.png")}li a.o_toolbox_scorm{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li a.o_toolbox_test{background-image:url("../openolat/images/le_resources/test.png")}li a.o_toolbox_questionnaire{background-image:url("../openolat/images/le_resources/survey.png")}li a.o_toolbox_wiki{background-image:url("../openolat/images/le_resources/wiki.png")}li a.o_toolbox_podcast{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li a.o_toolbox_blog{background-image:url("../openolat/images/le_resources/blog.png")}li a.o_toolbox_glossary{background-image:url("../openolat/images/le_resources/glossary.png")}li a.o_toolbox_sharedfolder{background-image:url("../openolat/images/folder_shared.png")}li a.o_toolbox_coursefolder{background-image:url("../openolat/images/le_resources/blue-folder.png")}li a.o_toolbox_courseareas{background-image:url("../openolat/images/users.png")}li a.o_toolbox_portfolio{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.b_toolbox_link{background-image:url("../openolat/images/bullet_black.png")}li a.b_toolbox_doc{background-image:url("../openolat/images/docs/document_plain.png")}li a.b_toolbox_preview{background-image:url("../openolat/images/docs/document_preview.png")}li a.b_toolbox_publish{background-image:url("../openolat/images/docs/document_share.png")}li a.b_toolbox_move{background-image:url("../openolat/images/docs/document_move.png")}li a.b_toolbox_close{background-image:url("../openolat/images/close.png")}li a.b_toolbox_delete{background-image:url("../openolat/images/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.png")}.o_midlock{top:9px;left:9px;background-image:url("../openolat/images/decorator/deco_condition.png")}.o_miderr{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_error.png")}.o_midwarn{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_midpub{top:-2px;left:9px;background-image:url("../openolat/images/decorator/deco_ok.png")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.o_bc_icon{background-image:url("../openolat/images/folder.png") !important}.o_co_icon{background-image:url("../openolat/images/mail.png") !important}.o_cp_icon{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_dialog_icon{background-image:url("../openolat/images/docs/document_discuss.png") !important}.o_en_icon{background-image:url("../openolat/images/enrol.png") !important}.o_fo_icon{background-image:url("../openolat/images/forum/forum.png") !important}.o_iqself_icon{background-image:url("../openolat/images/le_resources/selftest.png") !important}.o_iqsurv_icon{background-image:url("../openolat/images/le_resources/survey.png") !important}.o_iqtest_icon{background-image:url("../openolat/images/le_resources/test.png") !important}.o_ms_icon{background-image:url("../openolat/images/le_resources/thumb-up.png") !important}.o_scorm_icon,.o_scorm_org{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_scorm_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_scorm_asset{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_sp_icon{background-image:url("../openolat/images/docs/document-text.png") !important}.o_st_icon{background-image:url("../openolat/images/node-select-all.png") !important}.o_ta_icon{background-image:url("../openolat/images/docs/document-task.png") !important}.o_tu_icon{background-image:url("../openolat/images/docs/document-import.png") !important}.o_wiki_icon{background-image:url("../openolat/images/le_resources/wiki.png") !important}.o_ll_icon{background-image:url("../openolat/images/docs/document_linklist.png") !important}.o_cl_icon{background-image:url("../openolat/images/clipboard-task.png") !important}.o_den_icon{background-image:url("../openolat/images/clock.png") !important}.o_projectbroker_icon{background-image:url("../openolat/images/projectbroker.png") !important}.o_podcast_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png") !important}.o_blog_icon{background-image:url("../openolat/images/le_resources/blog.png") !important}.o_cal_icon{background-image:url("../openolat/images/calendar.png") !important}.o_lti_icon{background-image:url("../openolat/images/docs/document-node.png") !important}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.png") !important}.o_infomsg_icon{background-image:url("../openolat/images/information-button.png") !important}.o_cmembers_icon{background-image:url("../openolat/images/users.png") !important}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:#ececec url("../openolat/images/sky.png") repeat-x left 83px}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;background-color:white;moz-box-shadow:0 0 14px #d3d3d3;-ms-box-shadow:0 0 14px #d3d3d3;-o-box-shadow:0 0 14px #d3d3d3;-webkit-box-shadow:0 0 14px #d3d3d3;box-shadow:0 0 14px #d3d3d3}#b_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 14px #d3d3d3}#b_page a#b_toplink{position:absolute;bottom:1em;right:1em;background:transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;padding-left:14px;z-index:5}#b_header,#b_page,#b_col1_content,#b_col2_content,#b_col3_content,#b_col3_content_inner{position:relative}#b_col1{overflow:hidden}#b_col1_content{padding:1em 10px 1em 0px}#b_col3{border-left:1px #DDD dotted;border-right:1px #DDD dotted}#b_col3_content{min-height:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.b_c15r,.b_c20r,.b_c80r,.b_c85r{float:right;margin-left:-5px}.b_c15l,.b_c15r{width:15%}.b_c20l,.b_c20r{width:20%}.b_c80l,.b_c80r{width:80%}.b_c85l,.b_c85r{width:85%}.b_subcolumns_oldgecko,.b_c20l,.b_c15l,.b_c80l,.b_c85l{float:left}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0  0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#b_nav_main{float:left}#b_nav_main ul{padding-left:40px;margin:0}#b_nav_main ul li{float:left;position:relative;list-style:none;margin:0px;padding:4px 3px 4px 12px;margin-right:2px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close,#b_nav_main ul li.b_nav_site.b_exception a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li.b_nav_site > div{padding-left:16px;background-repeat:no-repeat;background-position:0% 50%;background-image:url("../openolat/images/application.png")}#b_nav_main ul li.b_nav_site.o_site_home > div{background-image:url("../openolat/images/home.png")}#b_nav_main ul li.b_nav_site.o_site_admin > div{background-image:url("../openolat/images/wrench-screwdriver.png")}#b_nav_main ul li.b_nav_site.o_site_useradmin > div{background-image:url("../openolat/images/user_conf.png")}#b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div{background-image:url("../openolat/images/users_conf.png")}#b_nav_main ul li.b_nav_site.o_site_repository > div{background-image:url("../openolat/images/books-stack.png")}#b_nav_main ul li.b_nav_site.o_site_groups > div{background-image:url("../openolat/images/users.png")}#b_nav_main ul li.b_nav_site.o_site_coaching > div{background-image:url("../openolat/images/eye.png")}#b_nav_main ul li.b_nav_site.site_demo_icon > div{background-image:url("../openolat/images/information-white.png")}#b_nav_main ul li.b_nav_site.f_site_library > div{background-image:url("../openolat/images/library.png")}#b_nav_main ul li.b_nav_site.fx_members > div{background-image:url("../openolat/images/users_members.png")}#b_nav_main ul li.b_nav_site.o_site_guidemo div{background-image:url("../openolat/images/light-bulb.png")}#b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div{background-image:url(../openolat/images/users.png)}#b_nav_main ul li.b_nav_tab{margin-right:4px}#b_nav_main ul li.b_nav_tab a.b_nav_tab_close{position:absolute;top:3px;right:4px;width:13px;height:13px;line-height:0;padding:0;margin:0;background:transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top}#b_nav_main ul li.b_nav_tab.b_nav_active,#b_nav_main ul li.b_nav_tab:hover{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li#b_nav_spacer{background:none;border:none;width:20px;height:1px;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}div.b_tree ul li a.b_tree_icon{padding-left:20px;padding-top:2px;position:relative;background-position:0 50%;background-repeat:no-repeat}div.b_tree ul li a{color:#555555}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:0px;z-index:9}div.b_tree ul li a:focus,div.b_tree ul li a:hover{color:#025d8c;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:#025d8c;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:#025d8c;font-weight:bold}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li a.b_tree_l0{padding-left:13px}div.b_tree ul li a.b_tree_l1{padding-left:13px}div.b_tree ul li a.b_tree_l2{padding-left:13px}div.b_tree ul li a.b_tree_l3{padding-left:13px}div.b_tree ul li a.b_tree_l4{padding-left:13px}div.b_tree ul li a.b_tree_l5{padding-left:13px}div.b_tree ul li a.b_tree_l6{padding-left:13px}div.b_tree ul li a.b_tree_l7{padding-left:13px}div.b_tree ul li a.b_tree_l8{padding-left:13px}div.b_tree ul li a.b_tree_l9{padding-left:13px}div.b_tree ul li a.b_tree_l10{padding-left:13px}div.b_tree ul li a.b_tree_l11{padding-left:13px}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;background-repeat:no-repeat}div.b_tree ul li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree a.b_tree_level_close{background:transparent !important}div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.png") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#b_main.b_menu_toolbar #b_col1_content{padding-top:0;padding-right:0}#b_main.b_menu_toolbar #b_col3_content{padding:0}div.b_menu_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}div.b_breadcumb_path{padding:0;margin:0;float:left;display:inline}div.b_breadcumb_path ul{padding:0;margin:0;list-style:none;float:left;display:inline}div.b_breadcumb_path ul li{padding:0 7px 0 14px;margin:0;list-style:none;float:left;display:inline;background:url(../openolat/images/breadcrumb-separator.png) no-repeat left 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;padding-left:25px}div.b_breadcumb_path ul li a{color:#464444}div.b_breadcumb_path ul li span.b_disabled{color:#000;padding:0 10px 0 0;margin:0}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #dadada}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}div.b_noti{border:1px solid #E9EAEF;padding:3px 23px 3px 3px;float:right;display:inline;position:relative;right:0;font-size:95%}div.b_noti a.b_contexthelp{position:absolute;top:2px;right:2px}div.b_noti a.b_noti_unsubscribe_link{background:url(../openolat/images/mail--minus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_subscribe_link{background:url(../openolat/images/mail--plus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_markedread_link{background:url(../openolat/images/tick.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}h1.b_titled_wrapper span{padding-right:4em;font-style:italic}h2.b_titled_wrapper span{padding-right:4em;font-style:italic}h3.b_titled_wrapper span{padding-right:4em;font-style:italic}h4.b_titled_wrapper span{padding-right:3em;font-style:italic}h5.b_titled_wrapper span{padding-right:3em;font-style:italic}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.png") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content{position:relative;margin-bottom:1em}div.b_titled_wrapper_desc a.b_togglebox_hide span{position:absolute;bottom:0;right:0;padding:0 6px 3px 0}div.b_titled_wrapper_desc a.b_togglebox_hide:hover{text-decoration:underline}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}div.o_course_run_dropbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_returnbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_solutionbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.b_float_left{float:left;display:inline;margin-right:1em;margin-bottom:0.15em}.b_float_right{float:right;display:inline;margin-left:1em;margin-bottom:0.15em}.b_center{text-align:center;margin:0.5em auto}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_dd_item.b_dd_over{background-color:#ffff60}.b_dd_sibling{height:3px;width:100%}.b_dd_sibling.b_dd_over{background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat}div.b_dd_ct div.b_dd_sibling_l1{margin-left:0 !important}div.b_dd_ct div.b_dd_sibling_l2{margin-left:1em !important}div.b_dd_ct div.b_dd_sibling_l3{margin-left:2em !important}div.b_dd_ct div.b_dd_sibling_l4{margin-left:3em !important}div.b_dd_ct div.b_dd_sibling_l5{margin-left:4em !important}div.b_dd_ct div.b_dd_sibling_l6{margin-left:5em !important}div.b_dd_ct div.b_dd_sibling_l7{margin-left:6em !important}div.b_dd_ct div.b_dd_sibling_l8{margin-left:7em !important}div.b_dd_ct div.b_dd_sibling_l9{margin-left:8em !important}div.b_dd_ct div.b_dd_sibling_l10{margin-left:9em !important}div.b_dd_ct div.b_dd_sibling_l11{margin-left:10em !important}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}div.b_layer_1 div.b_modal_area{width:82%;margin:9%}div.b_layer_2 div.b_modal_area{width:76%;margin:12%}div.b_layer_3 div.b_modal_area{width:70%;margin:15%}div.b_layer_5 div.b_modal_area{width:64%;margin:18%}div.b_modal_area{position:absolute;top:0px;left:0px;width:80%;margin:10%;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid #025d8c;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;background:#fff}div.b_window .b_window_header_wrapper{padding:2px 8px 0px 8px}div.b_window div.b_window_header{position:relative;border-bottom:1px solid #eee}div.b_window div.b_window_header_title{min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_window div.b_window_header_title a.b_link_close{top:4px;right:4px;position:absolute;min-height:16px;min-width:16px;background:transparent url("../openolat/images/close.png") no-repeat center center;display:inline-block}div.b_window div.b_window_header_title a.b_link_close:hover{top:4px;right:4px}div.b_window div.b_window_header_title strong{font-weight:bold}div.b_window div.b_window_content_wrapper{clear:both;width:auto;padding:0 4px 0 4px}div.b_window div.b_window_content{padding:1em}div.b_window div.b_window_content_inner{min-height:200px;position:relative}div.b_window div.b_window_footer_wrapper{height:4px}div.b_callout_content{max-width:60em;overflow:hidden}div.x-tip-tc,div.x-tip-bc{background-repeat:repeat !important}div.x-tip-body p{margin-bottom:0px}div.x-tip-mc{background:#e9f2ff !important}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}div.b_msg_dialog{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_question_32.png) no-repeat 10px 10px}div.b_msg_dialog .b_msg_title{font-weight:bold}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid #025d8c;background:#FAFAFA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_msg-div .b_msg_info_winicon{background:transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center}div.b_msg_info_content{padding:10px 10px 10px 50px}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#b_msg_info{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_info_32.png) no-repeat 10px 10px}#b_msg_info .b_msg_title{font-weight:bold}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid #025d8c}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_wizard div.b_wizard_header_title a.b_link_close{top:4px;right:4px;background:url(../openolat/images/close.png);background-repeat:no-repeat}div.b_wizard div.b_wizard_header_title strong{font-weight:bold}div.b_wizard div.b_wizard_steps_wrapper{clear:both;width:auto;padding:0 4px 0 4px;background:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}div.b_wizard div.b_wizard_steps_list li a:hover{color:#4F576A;background:transparent;text-decoration:underline}div.b_wizard div.b_wizard_steps_list li .b_disabled{color:#basegray_light;border:0;background:transparent;padding:0;margin:0;white-space:normal;font-style:italic}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}div.b_wizard div.b_wizard_footer div.b_button_group{text-align:left;padding:0.5em 1em 0.5em 21em;margin:0}span.b_wizard_button_prev:before,a.b_wizard_button_prev span:before{content:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}a.b_wizard_button_finish,span.b_wizard_button_finish{margin-left:3em}a.b_wizard_button_cancel,span.b_wizard_button_cancel{margin-left:3em}.b_wizard_table_changedcell{font-style:italic;font-weight:bold;background:url(../openolat/images/new-text.png) no-repeat;padding-left:18px}div.b_legacy_wizard_steps{float:right;display:inline}.b_legacy_wizard_step_a1{background-image:url(../openolat/images/wizard/1a.png)}.b_legacy_wizard_step_a2{background-image:url(../openolat/images/wizard/2a.png)}.b_legacy_wizard_step_a3{background-image:url(../openolat/images/wizard/3a.png)}.b_legacy_wizard_step_a4{background-image:url(../openolat/images/wizard/4a.png)}.b_legacy_wizard_step_a5{background-image:url(../openolat/images/wizard/5a.png)}.b_legacy_wizard_step_a6{background-image:url(../openolat/images/wizard/6a.png)}.b_legacy_wizard_step_a7{background-image:url(../openolat/images/wizard/7a.png)}.b_legacy_wizard_step_a8{background-image:url(../openolat/images/wizard/8a.png)}.b_legacy_wizard_step_a9{background-image:url(../openolat/images/wizard/9a.png)}.b_legacy_wizard_step_p1{background-image:url(../openolat/images/wizard/1p.png)}.b_legacy_wizard_step_p2{background-image:url(../openolat/images/wizard/2p.png)}.b_legacy_wizard_step_p3{background-image:url(../openolat/images/wizard/3p.png)}.b_legacy_wizard_step_p4{background-image:url(../openolat/images/wizard/4p.png)}.b_legacy_wizard_step_p5{background-image:url(../openolat/images/wizard/5p.png)}.b_legacy_wizard_step_p6{background-image:url(../openolat/images/wizard/6p.png)}.b_legacy_wizard_step_p7{background-image:url(../openolat/images/wizard/7p.png)}.b_legacy_wizard_step_p8{background-image:url(../openolat/images/wizard/8p.png)}.b_legacy_wizard_step_p9{background-image:url(../openolat/images/wizard/9p.png)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong{width:auto}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active{color:#000;text-decoration:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong{color:#000;font-weight:bold}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled{background:white !important}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong{color:#8994A9;background:transparent !important;font-weight:normal}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:3px;border-top-left-radius:3px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:3px}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:0px}div.b_tabbedpane_wrapper div.b_tabbedpane_content{clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner{position:relative;min-height:30em}div.b_segments_container{min-height:25px;padding-top:8px;position:relative;background:url(../openolat/images/divider.png) center top no-repeat}div.b_segments_container div.b_segments{clear:both;position:absolute;left:50%}div.b_segments_container div.b_segments a:hover{text-decoration:none}div.b_segments_container div.b_segments ul{position:relative;left:-50%;list-style-type:none;margin:0}div.b_segments_container div.b_segments ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_segments_container div.b_segments ul li a{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_segments_container div.b_segments ul li a:hover,div.b_segments_container div.b_segments ul li a:active,div.b_segments_container div.b_segments ul li a:focus{text-decoration:none}div.b_segments_container div.b_segments ul li:hover{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_segments_container div.b_segments ul li.b_segment_selected{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_segments_container div.b_segments ul li.b_segment_selected a,div.b_segments_container div.b_segments ul li.b_segment_selected strong{color:#000;font-weight:bold}div.b_segments_container div.b_segments ul li.b_segment_first{-webkit-border-top-left-radius:12px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:12px;-moz-border-radius-topleft:12px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:12px;border-top-left-radius:12px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:12px}div.b_segments_container div.b_segments ul li.b_segment_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:12px;-moz-border-radius-bottomright:12px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:0px}div.b_segments_container div.b_segment_content{margin-top:50px;clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}button{border:none}.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_button,.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center}.b_button:focus,.b_button:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_button:focus{border:1px solid #025d8c}.b_button:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border:1px solid #025d8c}.b_button.b_button_preferred{background:#dce7ec;background:-moz-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #dce7ec), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);background:linear-gradient(top, #dce7ec 0%, #f1f1f1 100%);border:1px solid #025d8c}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.b_button_dirty{background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%);border-color:#ff9900}.b_button_dirty:focus,.b_button_dirty:hover{text-decoration:none;border:1px solid #ffc20e;background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%)}.b_disabled.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;background:#fff}.b_disabled.b_button,.b_disabled.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center;cursor:default !important;color:#888}.b_disabled.b_button:focus,.b_disabled.b_button:hover{moz-box-shadow:0 0 0 transparent;-ms-box-shadow:0 0 0 transparent;-o-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}div.b_button_group{text-align:center;margin:2em 0 1em 0}div.b_button_group div{display:inline}.b_xsmall,sup,sub{font-size:80%}.b_small,small{font-size:90%}a.b_toggle{white-space:nowrap;margin:0 0.5em 0.2em 0;cursor:default;color:#2C2B2B;border:1px solid #aaa;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_off.png) top left repeat-x}a.b_toggle span{padding:0 0.8em}a.b_toggle:hover{background:#ddd;text-decoration:none}a.b_toggle.b_on:hover{background:#747474}a.b_toggle.b_on,a.b_toggle:active,a.b_toggle.b_on:active{color:white;border:none;padding:1px;moz-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-ms-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-o-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-webkit-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);text-shadow:1px 1px 2px rgba(0, 0, 0, 0.5)}a.b_toggle:focus,a.b_toggle.b_on:focus{text-decoration:none}a.b_toggle:active,a.b_toggle.b_on:active{background:url(../openolat/images/toggle_active.png) top left repeat-x}a.b_toggle.b_on{background:url(../openolat/images/toggle_on.png) top left repeat-x}span.b_toggle.b_disabled{white-space:nowrap;margin:0 0.5em 0.2em 0;padding:0 0.8em;color:#667;border:1px solid #DDD;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_dis.png) top left repeat-x}a.b_toggle_slide{background:url(../openolat/images/handle.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.2em 0.2em 0.2em;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle;position:relative}a.b_toggle_slide span{position:absolute;top:-25px;left:0}a.b_toggle_slide:hover,a.b_toggle_slide:focus,a.b_toggle_slide:active,a.b_toggle_slide.b_on:hover,a.b_toggle_slide.b_on:focus,a.b_toggle_slide.b_on:active{border:1px solid #868686;text-decoration:none}a.b_toggle_slide.b_on{background-position:-16px 0px}a.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_dis.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle}a.b_toggle_slide.b_small{background:url(../openolat/images/handle_small.png) -41px 0px no-repeat;height:16px;width:55px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}a.b_toggle_slide span{position:absolute;top:-16px}a.b_toggle_slide.b_small.b_on{background-position:-9px 0px}span.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;height:16px;width:55px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;display:inline-block;text-align:center;vertical-align:middle}span.b_toggle_slide_legend{font-size:90%}.b_link_back{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_back > span{padding:0px 8px 0px 25px;background:transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center}.b_link_back:focus,.b_link_back:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_back:focus{border-color:#025d8c}.b_link_back:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:#025d8c}.b_link_left_icon{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_left_icon:focus{border-color:#025d8c}.b_link_left_icon:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:#025d8c}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_login div.o_login_form li{list-style:none}div.o_login div.o_login_form fieldset legend{display:none}div.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border:1px solid #504D4E}input.b_checkbox,input.b_radio{height:1em;width:1em;border:0;margin:0 2px 0 0}label.b_checkbox_label,label.b_radio_label{padding-left:0.5em}.b_inline_editable{padding:1px 20px 1px 0;vertical-align:middle;min-height:16px}.b_inline_editable:hover{background-position:100% 50%;background-repeat:no-repeat;background-image:url(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #94bed3}fieldset legend{font-family:Century Gothic, Apple Gothic, sans-serif;padding:0 5px;font-size:120%;font-weight:bold}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}div.b_form div.b_form_general_error{padding:10px 10px 10px 50px;margin-bottom:20px;text-align:left;background:url(../openolat/images/icon_error_32.png) no-repeat 10px 10px;min-height:32px;border:1px solid #990000;color:#990000;font-style:italic}div.b_form div.b_form_spacer{margin:10px 0}div.b_form hr.b_form_spacer{margin:10px 0;border-bottom:1px solid #eee;padding:0}div.b_form hr.b_form_spacer.b_form_horizontal{display:inline-block;width:2em}div.b_form hr.b_form_spacer.b_form_spacer_noline{margin:10px 0;border-bottom:0;padding:0}div.b_form div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0}div.b_form div.b_form_element_wrapper.b_form_horizontal{vertical-align:middle;margin:0.5em 1em 0.5em 0;float:left;display:inline}div.b_form div.b_form_element_wrapper.b_form_vertical{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_label{width:20%;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label label{float:left;display:inline;line-height:1.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory{background:url(../openolat/images/star-small.png) no-repeat;padding-left:16px;height:16px}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal{width:auto;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical{width:auto;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:25%;padding:0 2px 0 12px}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal{margin-left:0;padding-left:0;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical{margin-left:0;margin-top:0.5em;padding-left:0;float:none;display:block;clear:both}div.b_form div.b_form_element_wrapper.b_form_error input,div.b_form div.b_form_element_wrapper.b_form_error select{border:1px solid #990000;background:#ebcccc}div.b_form div.b_form_element_wrapper div.b_form_error_msg{clear:both;color:#990000;font-style:italic;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0}div.b_form div.b_button_group{margin-left:0%;padding-left:0px;text-align:left}div.b_form.b_form_vertical div.b_button_group{text-align:left}div.b_form div.b_form_element div.b_form_example{display:inline;font-size:80%;color:#504D4E}div.b_form div.b_form_element .b_form_disabled{color:#504D4E}div.b_form div.b_form_element .b_form_element_disabled{color:#9E9C9C;background:#EEEEEE;border:1px solid #CDCBCB}div.b_form div.b_form_element span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px;padding-top:3px}div.b_form div.b_form_element a.b_form_groupchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_genericchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_wikitext{background-repeat:no-repeat;padding-left:12px;line-height:1.5em;font-style:italic}div.b_form div.b_form_element a.b_form_wikitext,div.b_form div.b_form_element .b_wiki_icon{background-image:url(../openolat/images/wiki/wiki_small_9px.png)}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}div.b_button_group div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element_label{width:auto;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element{margin-left:0}.b_subcolumns{display:table;width:100%;table-layout:fixed}.b_c25l input,.b_c25r input{max-width:93%}div.calendar{z-index:10000 !important}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element{margin:0;float:left}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label{float:none;width:auto;display:block;padding-left:2.5em}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label{float:none}div.b_form_subform{padding-left:2.5em}div.b_form_selection_vertical div.b_form_selection_element{vertical-align:middle;line-height:1.3em;position:relative}div.b_form_selection_vertical div.b_form_selection_element input{vertical-align:middle;line-height:1.3em}div.b_form_selection_horizontal div.b_form_selection_element{float:left;display:inline;padding-right:1em}div.b_form_selection_horizontal div.b_form_selection_element input{vertical-align:middle}div.b_form div.b_form_element div.b_form_togglecheck{font-size:95%;display:block;vertical-align:middle;line-height:16px;margin-top:0.5em}div.b_form div.b_form_element div.b_form_togglecheck input{height:1em;width:1em}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}table.b_choice{padding:0;margin:0}table.b_choice td{padding:0.1em;margin:0}table.b_choice td.b_togglecheck{padding-top:1em}table.b_choice td.b_togglecheck div.b_togglecheck{display:inline;border-top:1px solid #eee}table.b_choice td.b_togglecheck input{margin:0 7px 0 2px}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:absolute;top:0px;left:0px;z-index:1;display:inline;white-space:nowrap}div.b_fileinput div.b_fileinput_fakechooser a{margin-left:5px}div.b_fileinput span.b_fileinput_maxsize{padding:1px 0 1px 1em;font-style:italic;min-height:16px;vertical-align:middle}div.b_fileinput input.b_fileinput_realchooser{position:relative;top:0;left:0;z-index:2;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}div.b_fileinput div.b_button_group{text-align:left;padding-left:0;margin-left:0}.b_fileinput_icon{background-image:url(../openolat/images/drive.png)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#f3feff}div.b_progress div.b_progress_bar div{height:12px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}div.b_mark{width:20px;height:20px}div.b_mark div.b_form_element_wrapper{margin:0}div.b_mark div.b_form_element_wrapper div.b_form_element{margin:0;padding:0}div.b_mark a.b_mark_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px}div.b_mark a.b_mark_not_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}table{border-collapse:collapse;margin-bottom:0.5em;border-top:0px solid white;border-bottom:0px solid white}table caption{font-variant:small-caps}table.b_full{width:99.5%}table.fixed{table-layout:fixed}table th,table td{padding:0.3em}table thead th{color:inherit;border-bottom:1px solid #ccc}table tbody tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#f3feff}div.b_table_wrapper div.b_table_filter{float:left;display:inline;font-size:95%;margin:7px 10px 2px 0}div.b_table_wrapper div.b_table_filter label{font-style:italic;margin:5px 0 2px 0}div.b_table_wrapper div.b_table_filter select{border:1px solid #ACAAAA}div.b_table_wrapper div.b_clearfix div.b_floatbox{margin:5px 0 0 0}div.b_table_wrapper div.b_table_count{font-size:95%;float:left;line-height:16px;vertical-align:bottom;margin:3px;font-size:95%}div.b_table_wrapper a.b_table_prefs,div.b_table_wrapper a.b_table_download{float:right;display:block;background-repeat:no-repeat;background-position:top left;width:16px;height:16px;margin:3px}div.b_table_wrapper a.b_table_prefs{background-image:url(../openolat/images/table_gear.png)}div.b_table_wrapper a.b_table_download{background-image:url(../openolat/images/table_download.png)}div.b_table_wrapper div.b_table_buttons{text-align:center;margin:1.5em 0 1em 0}div.b_table_wrapper div.b_table_empty{margin:1em 0}div.b_table_page{font-size:95%;text-align:center}div.b_table_page a{margin:0;padding:2px}div.b_table_page a.b_table_page_active{font-weight:bold;color:#000}div.b_table_page a.b_table_backward{background:url(../openolat/images/arrow_left.png) no-repeat center left;padding-left:16px}div.b_table_page a.b_table_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}div.b_table_page a.b_table_first_page{background:url(../openolat/images/home.png) no-repeat center left;padding-left:18px}div.b_table_page_all{font-size:95%;text-align:center}a.b_dev{position:absolute;left:0;top:0;z-index:4000;background:red url("../openolat/images/bug.png") no-repeat;width:16px;height:16px;border:1px solid #000}#b_devcon_main{background-color:#ccddff;position:absolute;z-index:4000;top:10px;left:5%;width:90%;text-align:left;border:1px solid #000}#b_devcon_handle{cursor:move;background:blue url(../openolat/images/bug.png) no-repeat 4px 50%;line-height:2em;padding-left:24px;color:white}a#b_devcon_handle_collapse{cursor:pointer;background:url("../openolat/images/tree_parent_open.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.png") no-repeat;width:15px;height:15px;float:right;margin:3px}a.b_devcon_handle_close{cursor:pointer;background:url(../openolat/images/close.png) no-repeat;width:15px;height:15px;float:right;margin:3px}#b_devcon_content{font-size:90%;padding:5px;border-top:0px solid #000;background:transparent}#b_devcon_content ul{float:left;margin:0;padding:0;list-style:none;white-space:nowrap}#b_devcon_content li{margin:0;padding:0 10px 0 0;float:left}#b_devcon_content fieldset{border-top:1px solid #ccc;margin:0;padding:8px}#b_devcon_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}#b_js_log textarea#o_debug_cons{width:99%;height:15em;font-family:monospace;font-size:110%;margin:5px 0 5px 0}iframe.o_debug_json{position:fixed;width:90%;margin-left:5%;bottom:4px;height:300px;background:white;border:2px solid #ccd8e7;z-index:90000}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}div.b_briefcase_foldercomp div.b_briefcase_createactions{margin:0.5em 0}div.b_briefcase_foldercomp div.b_briefcase_createactions ul{list-style:none;margin:0;padding:0;white-space:nowrap;font-size:95%}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li{float:right;display:inline;margin:0 0 0 1em;padding:0 0 0 3px;position:relative}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a{background-position:0 50%;background-repeat:no-repeat;padding:2px 0 2px 20px}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload{background-image:url(../openolat/images/docs/document_upload.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder{background-image:url(../openolat/images/folder_new.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile{background-image:url(../openolat/images/docs/document_add.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles{background-image:url(../openolat/images/docs/document_remove.png)}div.b_briefcase_foldercomp div.b_briefcase_breadcrumb{clear:both;padding:1px 0 1px 20px;margin:0.5em 0 0 0;background:url(../openolat/images/folder_open.png) no-repeat 0 50%}div.b_briefcase_foldercomp div.b_briefcase_empty{clear:both;margin-top:0.5em;font-style:italic}div.b_briefcase_foldercomp table.b_briefcase_filetable{clear:both;border-collapse:collapse;margin-bottom:0.5em;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a,div.b_briefcase_foldercomp table.b_briefcase_filetable thead span{color:#4F576A;font-weight:bold}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus{color:#000000;text-decoration:none;background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable th,div.b_briefcase_foldercomp table.b_briefcase_filetable td{white-space:nowrap;text-align:right;padding-right:1em}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-right:0}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child{width:60%;text-align:left}div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox{margin:0 4px 0 0}div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus{background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-left:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td{border:0;padding:0 0 0 3px;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon{background-image:url(../openolat/images/docs/document--pencil.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/locked.png)}div.b_briefcase_preview{background-color:white;width:200px;height:200px;border:1px solid #8EAACE;margin-top:2px}div.b_briefcase div.b_briefcase_searchcomp{float:left;display:inline;margin:0.5em 0;width:14em}div.b_briefcase div.b_briefcase_searchcomp input{width:10em}div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_briefcase div.b_briefcase_commandbuttons{margin:1em 0}div.b_briefcase div.b_briefcase_webdav{margin:0.5em 0}div.b_briefcase div.b_briefcase_quota{clear:both;margin-top:1em;padding-top:1em;border-top:1px solid #000}div.b_briefcase_meta{size:0.8em}div.b_briefcase_meta p{font-style:italic;margin:0;padding-top:2px}div.b_send_documents ol.textbox-outer{margin-left:0;border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em}div.b_send_documents ol li{margin-left:0}div.b_send_documents textarea{overflow:auto;resize:none}@media all{div.o_wiki_wrapper{clear:both}div.o_wiki_wrapper div.o_wikimod_btn{position:relative}div.o_wiki_wrapper div.o_wikimod_btn a{margin-bottom:9px;background-repeat:no-repeat;background-position:center center;width:20px;height:19px;float:left;display:inline;padding-left:2px;border:1px solid #ccc;background-color:#eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;margin-right:2px}div.o_wiki_wrapper div.o_wikimod_btn a:hover{border:1px solid #025d8c}div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}div.o_wiki_wrapper a.o_wikimod_btn_bold{background-image:url(../openolat/images/wiki/edit-bold.png)}div.o_wiki_wrapper a.o_wikimod_btn_italic{background-image:url(../openolat/images/wiki/edit-italic.png)}div.o_wiki_wrapper a.o_wikimod_btn_link{background:url(../openolat/images/wiki/chain.png)}div.o_wiki_wrapper a.o_wikimod_btn_extlink{background:url(../openolat/images/wiki/chain--arrow.png)}div.o_wiki_wrapper a.o_wikimod_btn_headline{background:url(../openolat/images/wiki/edit-heading.png)}div.o_wiki_wrapper a.o_wikimod_btn_image{background:url(../openolat/images/wiki/image-medium.png)}div.o_wiki_wrapper a.o_wikimod_btn_media{background:url(../openolat/images/music-beam.png)}div.o_wiki_wrapper a.o_wikimod_btn_math{background:url(../openolat/images/wiki/edit-math.png)}div.o_wiki_wrapper a.o_wikimod_btn_nowiki{background:url(../openolat/images/wiki/edit-nowiki.png)}div.o_wiki_wrapper a.o_wikimod_btn_hr{background:url(../openolat/images/wiki/edit-hr.png)}div.o_wiki_wrapper a.o_wikimod_btn_list{background:url(../openolat/images/wiki/edit-list.png)}div.o_wiki_wrapper a.o_wikimod_btn_numlist{background:url(../openolat/images/wiki/edit-list-order.png)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}div.o_wiki_wrapper h1{font-size:1.0em}div.o_wiki_wrapper h2{font-size:1.0em}div.o_wiki_wrapper h3{font-size:1.0em}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}div.o_wikimod_nav{font-size:90%;padding-top:1.5em}div.o_wikimod_nav legend{font-size:95%}div.o_wikimod_nav fieldset{padding:0.5em}div.o_wikimod_nav input{width:99%}div.o_wikimod_nav ul{margin:0;padding:0}div.o_wikimod_nav div.b_button_group{margin:0.5em 0;text-align:left}div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_wikimod_nav .b_form_element_wrapper .b_form_element{padding:0}div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{margin:0.5em 0}div.o_wikimod_editform_wrapper{clear:both;padding:0.5em 0 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label{display:none}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element{clear:both;margin-left:0;padding:0 5px 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_button_group{margin-left:0;text-align:center}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}h1.o_wikimod_heading,h3.o_wikimod_heading{margin:0 0 1em 0;padding:.5em 0 .17em 0;border-bottom:1px solid #BFBFBF}#o_wikimod_uploader{margin:1em 0 0 0}.o_wikimod_version{border:1px solid #BFBFBF;padding:4px;margin-top:5px}.o_wikimod_diff{border:1px solid #BFBFBF;padding:4px;margin:0px}.o_wikimod_warn{color:#DF9719}.o_wiki_error{background-color:#DF9719}.o_wikimod_ins{background-color:#A4DCA4}.o_wikimod_old{background-color:#FFCCCC}.o_wikimod_new{background-color:#A4DCA4}.o_wikimod_del{background-color:#FFCCCC}.wiki-image{float:right;padding:10px;clear:right}.wiki-file-deleted{text-decoration:line-through}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#eeeeee}div.o_forum div.o_forum_message_header_wrapper{min-height:24px}div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header{min-height:24px}div.o_forum div.o_forum_message_title{vertical-align:middle;padding:2px 5px 2px 5px;min-height:24px}div.o_forum div.o_forum_message_title strong{font-weight:bold}div.o_forum div.o_forum_message_new div.o_forum_message_title strong{background:url(../openolat/images/new-text.png) no-repeat top right;padding-right:20px}div.o_forum div.o_forum_message_creator{width:100px;padding:0.5em 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}div.o_forum div.o_forum_message_creator strong{font-weight:normal}div.o_forum div.o_forum_message_creator img{border:1px solid #4F576A}div.o_forum div.o_forum_message_body{padding:0.5em;background:transparent;margin-right:155px}div.o_forum div.o_forum_message_attachments{margin:2em 0 0.5em 0;border-top:1px solid #555555;font-size:95%}div.o_forum div.o_forum_message_attachments strong{display:block;margin:0.5em 0;font-weight:normal;font-style:italic}div.o_forum div.o_forum_message_attachments ul{list-style:none;margin:0;padding:0}div.o_forum div.o_forum_message_attachments li{margin:0;padding:0}div.o_forum div.o_forum_message_attachments a{background-repeat:no-repeat;background-position:0 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}div.o_forum div.o_forum_message_modified{clear:both;border-top:1px solid #506D90;padding:0.5em 0 0 0;font-size:95%;font-style:italic;text-align:center;color:#98221F}div.o_forum div.o_forum_message_actions{text-align:center;padding:0.2em 1em;padding-top:0.8em}span.o_forum_thread_sticky{font-weight:bold}span.o_forum_status_thread_icon{background-image:url(../openolat/images/forum/forum.png)}span.o_forum_status_sticky_closed_icon{background-image:url(../openolat/images/forum/sticky-note-pin_locked.png)}span.o_forum_status_sticky_icon{background-image:url(../openolat/images/forum/sticky-note-pin.png)}span.o_forum_status_closed_icon{background-image:url(../openolat/images/forum/forum_locked.png)}div.o_forum_peekview{margin:1em 0 1em 0}div.o_forum_peekview h5{font-size:1em;position:relative;left:-20px}div.o_forum_peekview div.o_forum_peekview_message{padding-left:20px;padding-bottom:15px}div.o_forum_peekview div.b_quote_wrapper{display:none}.o_forum_message_icon{background-image:url(../openolat/images/forum/balloon-white-left.png)}div.o_forum_toolbar{float:left;display:inline;width:75%}div#o_forum_fulltextsearch{float:right;display:inline}div#o_forum_fulltextsearch input{width:10em}div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_struct_edit_btn{float:right;display:inline}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:white;padding-right:1em;overflow-x:auto}.b_artefact{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}div.o_ep_toc_editor div.b_subcl{min-height:35em}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:#FFF;padding-right:1em;overflow-x:auto}div.b_struct_edit_btn{float:right;display:inline}div.b_struct_submit_assess_btn{float:right;display:inline}.b_artefact div.b_actions{margin-top:2em}.b_artefact div.b_desc{font-style:italic;margin:1em 0}.b_ep_artAttribLink{background-image:url(../openolat/images/table_gear.png)}div.b_artefact_closed{font-size:25px;float:right;background:url(../openolat/images/locked.png) top right no-repeat}div.b_eportfolio_preview_c100l .b_artefact{margin:3px}div.b_eportfolio_preview_c33l .b_artefact{font-size:85%;margin:3px}.b_ep_nolink{color:#000000}.b_ep_nolink:hover{color:#000000;text-decoration:none}.b_ep_multiartefacts div.b_ep_add_message_with_arrow{position:relative;top:-50px}.b_ep_multiartefacts div.b_artefact_count{margin:1em 0 1em 0}a.b_ep_options{background:url(../openolat/images/gear.png) top left no-repeat;width:16px;height:16px;display:block}.b_ep_liveblog_icon{background-image:url(../openolat/images/portfolio/ep_liveblog_icon.png)}div.b_portfolio_toc ul{margin:0}div.b_portfolio_toc li{list-style-type:none}div.b_portfolio_toc li a{font-size:0.8em;text-decoration:none}div.b_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}div.b_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}div.b_portfolio_toc li.level3{padding-left:40px}div.b_portfolio_toc .link{float:right;margin-right:0px}div.b_portfolio_toc .commentlink{float:right;margin-right:10%}div.b_portfolio_toc .type_artefact{font-style:italic}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.b_portfolio_toc .type_artefact{background-position:center left;background-repeat:no-repeat;padding-left:20px}a.b_eportfolio_add{background:url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;display:block;width:16px;height:16px}td a.b_eportfolio_add{float:right;padding-right:2px}a.b_eportfolio_add_again,span.b_eportfolio_add_again{background:url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;display:block;width:16px;height:16px}.o_efficiencystatement a.b_eportfolio_add_again{float:right}a.b_eportfolio_link{background:url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;display:block;width:16px;height:16px}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}ul.b_eportfolio_maps{margin:0;padding:0}ul.b_eportfolio_maps li{display:block;float:left;position:relative;width:195px;height:320px;padding:60px 60px 40px 65px;margin:0.5em;background:url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-box-shadow:0 1px 3px lightgray;box-shadow:0 1px 3px lightgray}ul.b_eportfolio_maps li .b_map_info{position:absolute;bottom:40px;width:inherit;font-size:0.9em}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}.epmst-green div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}.epmst-red div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}.epmst-blue div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}ul.b_eportfolio_maps li.leather{background:url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.leather a{color:#fad9a4}ul.b_eportfolio_maps li.comic{background:url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.template.default{background-image:url(../openolat/images/portfolio/eportfolio_map_default_template.png)}ul.b_eportfolio_maps li.template.comic{background-image:url(../openolat/images/portfolio/eportfolio_map_comic_template.png)}ul.b_eportfolio_maps li.template.leather{background-image:url(../openolat/images/portfolio/eportfolio_map_leather_template.png)}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}.b_eportfolio_map{background:white;padding:1.5em;min-height:30em}.b_eportfolio_map .b_ep_relative{position:relative}.b_eportfolio_toolbar div{display:inline}.b_eportfolio_toolbar{text-align:right;width:100%;border-bottom:1px solid #acaaaa;padding:1px 2px 4px 2px;margin-bottom:6px}.b_eportfolio_map a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:right;display:inline;background-repeat:no-repeat;margin-left:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_toolbar a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:none;display:inline-block;background-repeat:no-repeat;margin-left:0;margin-right:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_map div.b_eportfolio_add_link{float:left;display:inline;margin-top:2px}.o_ep_toc_editor .b_eportfolio_add_link{float:left}.b_eportfolio_map .b_eportfolio_add_link:hover{text-decoration:none}.b_eportfolio_map .b_eportfolio_comment_link{float:right;display:inline;margin-right:5px}.b_ep_tag_cloud{padding:1em 0 1em 0;border-bottom:1px solid #ccc}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{min-height:40em;background:#f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;padding:1em;-webkit-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-moz-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-o-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2)}.b_eportfolio_page .b_eportfolio_structure > h5{border-bottom:1px solid #ddd;margin-top:1.2em}.b_eportfolio_edit{margin-top:1.5em}.b_eportfolio.b_artefacts hr.b_ep_filter_spacer{height:10px;background:url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;border:none;border-top:1px solid #ccc;margin:2em 0 1em}.b_eportfolio.b_artefacts .b_ep_content{background:white;padding:0 1em 1em 1em;margin-top:1.5em}.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter{padding:0;width:80%}.b_ep_filter{float:left}.b_ep_viewmode{float:right;width:15%}.b_ep_add_artefact{float:right}.b_ep_content div.b_ep_viewmode div.b_form_element_label{width:auto}.b_eportfolio.b_artefacts div.b_segments_container{top:-20px;margin-bottom:-20px}.b_ep_tagbrowser{width:30%;margin-right:0px}.b_ep_tagbrowser_view{width:68%;margin-left:0px}.b_ep_collection_icon{background-image:url(../openolat/images/portfolio/ep_collection.png) !important}.b_ep_map_icon,.b_portfolio_toc .type_map{background-image:url(../openolat/images/portfolio/briefcase.png) !important}.b_ep_page_icon,.b_portfolio_toc .type_page{background-image:url(../openolat/images/portfolio/ep_page.png) !important}.b_ep_page_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_page_add.png) !important}.b_ep_struct_icon,.b_portfolio_toc .type_struct{background-image:url(../openolat/images/portfolio/ep_struct.png) !important}.b_ep_struct_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_struct_add.png) !important}.type_artefact{background-image:url(../openolat/images/le_resources/portfolio.png) !important}div.b_eportfolio_collect_restriction{margin-top:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a{padding-left:0px;text-decoration:none}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover{text-decoration:none}div.b_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper p{padding:0 0 0 15px;margin:0}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content{padding:3px 3px 3px 3px;margin:0;border:1px solid red;background-image:none;background-color:transparent;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #FF9900 !important;background:#fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #F0F0F0 !important;background:#fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide{display:none}.b_eportfolio_deadline_callout{width:300px}.b_ep_multiartefacts .b_c50l{clear:both}.b_eportfolio_fulltextsearch{float:left}.b_eportfolio_share_policy_wrapper{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.b_eportfolio_share_policy_wrapper .b_float_right{text-align:right}.b_eportfolio_share_policy_wrapper a.bit-input{text-decoration:none}.b_eportfolio_share_policy div input,.b_eportfolio_share_policy div span,.b_eportfolio_share_policy div select{float:left;margin-right:5px;padding-right:5px}.b_eportfolio_share_policy div span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}.b_eportfolio_share_policy .b_ep_share_date span{float:left}.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy{padding-left:20px;background:url(../openolat/images/user.png) top left no-repeat}.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy{background-image:url(../openolat/images/share.png)}.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}div.b_ep_inline div input,div.b_ep_inline div span,div.b_ep_inline div select{float:left;margin-right:5px;padding-right:5px}.default div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.default div.b_pagination{float:none;position:static;width:100%}.default div.b_pagination ul{margin:0}.default div.b_pagination li{float:left;display:inline;width:auto;margin:2px 2px 2px 0;padding:0;background:#FAFAFA;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.default div.b_pagination li.b_disabled{padding-bottom:2px;margin-bottom:0;background:#f4f4f4}.default div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.default div.b_pagination li.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.comic div.b_pagination{position:absolute;right:0;width:16%;max-height:100%;overflow-x:hidden;overflow-y:auto;z-index:100}.comic .b_ep_relative > div:last-child{position:relative}.comic div.b_ep_actualpage{width:85%;margin-top:1em}.comic div.b_pagination ul{margin-top:30px;margin-left:0px;z-index:1}.comic div.b_pagination li{width:87%;background:url(../openolat/images/portfolio/postit.png) center right;padding:0;margin-bottom:1em;margin-left:8%;list-style-type:none}.comic div.b_pagination li span.b_disabled,.comic div.b_pagination li a span{display:block;padding:20px 15px 20px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li,.comic div.b_pagination li span,.comic div.b_pagination li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li.b_disabled{z-index:101;margin-left:0;width:100%}.comic div.b_pagination li .b_disabled{color:black;font-weight:bold}.comic div.b_pagination li.b_toc,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.leather div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.leather .b_map_header h4,.leather .b_map_header p,.leather .b_map_header a.b_eportfolio_add_link,.leather .b_map_header a.b_eportfolio_comment_link{color:white}.leather .b_eportfolio_mapowner{color:#fff}.leather div.b_pagination{float:none;position:static;width:100%}.leather div.b_pagination ul{margin:0}.leather div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.leather div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.leather div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.leather div.b_pagination li.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}div.o_module_cp_wrapper a.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}div.o_module_cp_wrapper div#o_local_fulltextsearch{position:absolute;top:0;right:0;z-index:10}div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_module_cp_wrapper div.o_cp_navigation{float:right;display:inline;padding:3px 0 3px 3px;background:#ebebeb;border:1px solid #ddd;white-space:nowrap;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey}div.o_module_cp_wrapper div span a{margin:0 2px}div.o_module_cp_wrapper div span.b_disabled{display:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon{background-image:url("../openolat/images/arrow_left_big.png");text-decoration:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_next_icon{background-image:url("../openolat/images/arrow_right_big.png")}div.o_module_cp_wrapper div span a.o_cp_next_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_print_icon{background-image:url("../openolat/images/printer.png")}div.o_module_cp_wrapper div span a.o_cp_print_icon span{display:none}div.o_module_cp_wrapper div.o_cp_navigation div,div.o_module_cp_wrapper div.o_cp_navigation form{display:inline}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix{display:inline;clear:none}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after{display:inline;height:0;clear:none;visibility:hidden}#o_cpeditor_menu div.o_cpeditor_menu_tree{padding:10px 0 0 0}#b_col1 div.b_menu_toolbar a,#b_col3 div.b_menu_toolbar a{width:16px;height:16px;margin:3px;float:right;display:inline;background-repeat:no-repeat}a.o_cpeditor_import{background-image:url("../openolat/images/docs/document_upload.png")}a.o_cpeditor_new{background-image:url("../openolat/images/docs/document_add.png")}a.o_cpeditor_copy{background-image:url("../openolat/images/docs/document_copy.png")}a.o_cpeditor_delete{background-image:url("../openolat/images/docs/document_remove.png")}a.o_cpeditor_edit{background-image:url(../openolat/images/docs/document_metadata_edit.png)}a.o_cpeditor_preview{background-image:url(../openolat/images/docs/document_preview.png)}#o_cpeditor_content div.o_cpeditor_message{padding:20px}#o_qti_run div.b_button_group{text-align:left}#o_qti_run_title{text-align:right}#o_qti_run_title strong{float:left;display:inline}#o_qti_run.o_qti_survey #o_qti_run_title strong{background:url(../openolat/images/le_resources/survey.png) no-repeat left 50%;padding-left:20px}#o_qti_run.o_qti_test #o_qti_run_title strong{background:url(../openolat/images/le_resources/test.png) no-repeat left 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}#o_qti_scoreinfo{float:left;display:inline;padding:.3em;border:1px solid silver;margin-right:1em}#o_qti_run_score{clear:both;margin:1em 0;padding:0 0 1.5em 0;font-size:90%}#o_qti_run_scoreinfo{float:left;display:inline}#o_qti_run_scoreprogress{float:left;display:inline;margin-left:1em}#o_qti_questioninfo{float:left;display:inline;padding:.3em;border:1px solid silver}#o_qti_run_questioninfo{float:left;display:inline;margin-left:1em}#o_qti_run_questionprogress{float:left;display:inline;margin-left:1em}#o_qti_run_status{clear:both}#o_qti_run_main{clear:both;border-top:1px solid #504D4E;margin:0.5em 0;padding:1em 0}#o_qti_run_menu_inner h4{font-size:100%}#o_qti_run_menu_inner ul{padding:0;margin:0;list-style:none}#o_qti_run_menu_inner li{clear:both;padding:0;margin:0;white-space:normal}#o_qti_run_menu_inner li.o_qti_menu_section{padding:1em 0}#o_qti_run_menu_inner li div.o_qti_menu_item,#o_qti_run_menu li div.o_qti_menu_section{float:left;display:inline;margin-right:10px}#o_qti_results td{padding:0}#b_main.o_editor_qti_correct{background-image:url(../openolat/images/qti/correct_bg.png);background-position:top left}#b_main.o_editor_qti{background-image:url(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.png) no-repeat left 50%;cursor:help;padding-left:20px}#o_qti_solutions a{background:url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;cursor:help;padding-left:20px}.qti_response_level_feedback_label{margin-top:1em;font-style:italic}.qti_edit_layout{position:relative;padding-right:30px;margin-bottom:0.6em}.qti_edit_layout .edit_link{position:absolute;top:10px;right:0px}div.o_qti_item{margin-bottom:2em;margin-top:2em;line-height:2em}div.o_qti_item input.b_radio,div.o_qti_item input.b_checkbox{margin-left:1em}div.o_qti_item textarea{width:99%}img.o_qti_item_matimage{vertical-align:middle}div.o_qti_item_choice{display:table;margin:1em 0}div.o_qti_item_choice_option{display:table;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option_flow{display:table-cell;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option:hover{border:1px solid silver}div.o_qti_item_choice_option_flow:hover{border:1px solid silver}div.o_qti_item_choice_option_input{display:table-cell;vertical-align:middle;padding-right:.5em}div.o_qti_item_choice_option_input input{vertical-align:middle}div.o_qti_item_choice_option_value{display:table-cell}div.o_qti_item_choice_option_autoenum{display:table-cell;line-height:1.5em;width:1em;overflow:hidden;vertical-align:middle;color:silver;border:0;padding:0;margin:0}#o_qti_menu a{text-decoration:none}.o_qti_menu_section{padding:.3em;border-top:1px solid #94bed3}.o_qti_menu_section_clickable{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_section_clickable:hover{padding:.3em;border:1px solid silver;display:inline-block}.o_qti_menu_section_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_item_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item_active:hover{border:1px solid silver}.o_qti_menu_item_inactive{padding:.3em;border:1px solid transparent}.o_qti_menu_item:hover{border:1px solid silver}.o_qti_menu_item_closed{padding:.3em;border:1px solid transparent}.o_qti_menu_item_attempts_marked,.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;color:silver;padding:.2em .4em;border:1px solid transparent;background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{color:silver;border:1px solid silver;cursor:pointer}#o_qti_item_note{padding:0;margin:0;border:0;color:silver;font-family:inherit;font-size:1em;background:inherit;overflow:hidden}.o_qti_item_note_box{border:1px dashed silver;padding:.1em;margin:0;padding-left:.5em}div.o_qti_item_note_box_title{color:silver}div.o_qti_item_itemfeedback,div.o_qti_item_assessfeedback,div.o_qti_item_o_qti_item_sectionfeedback{margin:1em 0;background:url(../openolat/images/lightning.png) no-repeat left 50%;padding-left:20px}div.o_qti_item_objectives{margin:1em 0;background:url(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.o_qti_timelimit_icon{background-image:url(../openolat/images/qti/time.png)}.o_qti_attemptslimit_icon{background-image:url(../openolat/images/qti/tries.png)}.o_qti_closed_icon{background-image:url(../openolat/images/qti/closed.png)}.o_mi_qtialientitem{background-image:url(../openolat/images/docs/document_plain.png)}.o_mi_qtisc{background-image:url(../openolat/images/qti/scItem.png)}.o_mi_qtimc{background-image:url(../openolat/images/qti/mcItem.png)}.o_mi_qtikprim{background-image:url(../openolat/images/qti/kprimItem.png)}.o_mi_qtifib{background-image:url(../openolat/images/qti/fibItem.png)}.o_mi_qtiessay{background-image:url(../openolat/images/qti/essayItem.png)}.o_mi_qtisection{background-image:url(../openolat/images/qti/section.png)}.o_mi_iqtest{background-image:url(../openolat/images/le_resources/test.png)}.o_mi_iqsurv{background-image:url(../openolat/images/le_resources/survey.png)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}div.b_translation_start div.b_translation_start_body,div.b_translation_edit div.b_translation_edit_body{margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package{margin-bottom:0.5em;padding:1em 0 0.5em 0;border-bottom:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package div.b_translation_package_icon{margin-bottom:0.5em;border-bottom:1px solid #ACAAAA}div.b_translation_edit div.b_button_group{text-align:center;margin:1em 0 0 0}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar{float:left;display:inline}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label{float:left;display:inline;padding:0 0 0 1em;font-size:90%;font-style:italic}div.b_translation_edit div.b_translation_edit_body textarea{width:99%}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation{margin-top:1em}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_form_element textarea.b_form_element_disabled{color:#000;background:#EEEEEE;border:1px solid #CDCBCB}div.b_translation_edit div.b_translation_edit_annotation h5{font-weight:normal;font-size:100%;font-style:italic}div.b_translation_edit div.b_translation_edit_annotation textarea{font-style:italic}div.b_translation_edit div.b_translation_refKey{background-image:url(../openolat/images/magnifier-zoom.png);vertical-align:middle;background-color:#eee;border:1px solid #ACAAAA;margin-right:1%}div.b_translation_edit div.b_translation_refKey code{line-height:1em;vertical-align:middle}div.b_translation_edit div.b_translation_refKey span{line-height:1em;font-style:italic}div.b_translation_config span.b_translation_status,ul.b_translation_status span.b_translation_status{position:absolute;right:1em}ul.b_translation_status{column-count:2;-moz-column-count:2;list-style:none}ul.b_translation_status li{position:relative}.b_translation_package_icon{background-image:url(../openolat/images/folder_open.png) !important}.b_translation_item_icon{background-image:url(../openolat/images/docs/document-node.png) !important}.b_translation_search_icon{background-image:url(../openolat/images/magnifier-zoom.png) !important}span.b_translation_i18nitem{position:relative !important}span.b_translation_i18nitem a.b_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:16px !important;height:16px !important;top:0 !important;left:5px !important;background:#eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;border:1px solid #6e6e6e !important;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;padding:0 !important}div.b_selectiontree{font-size:95%}div.b_selectiontree div.b_selectiontree_item{clear:both;position:relative;top:0;left:0;vertical-align:middle;height:16px;width:auto}div.b_selectiontree div.b_selectiontree_item div{width:16px;height:16px;float:left;display:inline;background-repeat:no-repeat}div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content{float:left;display:inline;margin-left:0.5em;width:auto;white-space:nowrap}div.b_selectiontree div.b_selectiontree_content{width:auto}div.b_selectiontree div.b_selectiontree_content div{width:auto}div.b_selectiontree div.b_selectiontree_content input{width:1em;height:1em;padding:0;margin:0 0.5em;vertical-align:middle}div.b_selectiontree div.b_selectiontree_content input.b_radio{margin:0}div.b_selectiontree .b_selectiontree_line{background-image:url(../openolat/images/tree/dots.gif)}div.b_selectiontree .b_selectiontree_space{background-image:url(../openolat/images/tree/dots_spacer.gif)}div.b_selectiontree .b_selectiontree_junction{background-image:url(../openolat/images/tree/dots_nt.gif)}div.b_selectiontree .b_selectiontree_end{background-image:url(../openolat/images/tree/dots_nl.gif)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#o_course_editor_errorbox{font-size:90%;padding:3px 2px 2px 25px;margin:0 0 1em 0}div.o_courseeditor_legend{margin-top:3em}div.o_courseeditor_legend strong{font-weight:bold}div.o_courseeditor_legend div{top:0;left:0;padding-left:12px;background-repeat:no-repeat;background-position:0 50%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #94bed3}#b_main.b_preview{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid #025d8c;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.b_tag_list{background:url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important}.b_tag_icon{background-image:url(../openolat/images/tag-label-yellow.png)}div.b_tags{margin:2em 0}div.b_tags div{padding:0.5em 0 0 20px}div.b_tags span.b_tag{font-size:80%;padding:5px 2px 5px 2px;line-height:3em;white-space:nowrap}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}a.bit-box,span.b_tag{-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #CAD8F3;background:#DEE7F8;padding:1px 5px 2px;padding-right:15px;position:relative}div.holder{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}div.holder a{float:left;margin:0 5px 4px 0}div.holder a.bit{text-decoration:none;color:black}div.holder a.bit:active,div.holder a.bit:focus{outline:none}div.holder a.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff}div.holder a.bit-input .maininput{border:1px solid #eeeeee}div.holder a.bit-input input{width:100px;margin:0;border:none;background:white;outline:0;padding:3px 0 2px}div.holder a.bit-input input.smallinput{width:20px}div.holder a.bit-hover{background:#BBCEF1;border:1px solid #6D95E0}div.holder a.bit-box-focus{background:#598BEC;color:#fff}div.holder a.bit-box a.closebutton{position:absolute;right:0;top:5px;display:block;width:7px;height:7px;font-size:1px;background:url("../openolat/images/tag_x.gif")}div.holder a.bit-box a.closebutton:hover{background-position:7px}div.holder a.bit-box a.closebutton:active{outline:none}div.holder a.bit-box-focus a.closebutton,div.holder a.bit-box-focus a.closebutton:hover{background-position:bottom}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.textboxlist-auto .default{padding:5px 7px;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul{display:none;margin:0;padding:0;overflow:auto}.textboxlist-auto ul li{padding:5px 12px;z-index:1000;cursor:pointer;margin:0;list-style-type:none;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul li.loading-indicator{padding-left:30px;background-position:5px center;cursor:defat;font-size:100.01% !important;line-height:1.5em}.textboxlist-auto ul li.more-indicator{cursor:defat;font-style:italic}.textboxlist-auto ul li em{font-weight:bold;font-style:normal;background:#ccc}.textboxlist-auto ul li.auto-focus{background:#4173CC;color:#fff}.textboxlist-auto ul li.auto-focus em{background:none}input.inputMessage{color:#AAA;font-size:11px}.b_wizard .textbox-outer{background:url(../openolat/images/tag-label-yellow.png) top left no-repeat}.b_wizard .textbox-outer li{margin-left:18px}.b_wizard .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;margin:10px;min-height:13em}.b_portlet .b_portlet_showall{font-size:95%;position:absolute;right:0;top:0}.b_portlet .b_portlet_header{border-bottom:1px solid #94bed3;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet.b_portlet_edit{background:#FFE793;border:1px solid #FF9E3E;padding:2px}div.b_portlet.b_portlet_edit .b_portlet_header{height:23px}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}div.b_portlet_toolbox a,div.b_portlet_toolbox span.b_disabled{background-repeat:no-repeat;background-position:1px 1px;float:right;width:18px;height:18px;overflow:hidden}div.b_portlet_toolbox div{display:inline}div.b_portlet_toolbox > a,div.b_portlet_toolbox > span{border:1px solid #888;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;background:#eee;background-repeat:no-repeat;background-position:center}div.b_portlet_toolbox a.b_portlet_edit_left{background-image:url(../openolat/images/arrow_left_big.png)}div.b_portlet_toolbox a.b_portlet_edit_right{background-image:url(../openolat/images/arrow_right_big.png)}div.b_portlet_toolbox a.b_portlet_edit_down{background-image:url(../openolat/images/arrow_down_big.png)}div.b_portlet_toolbox a.b_portlet_edit_up{background-image:url(../openolat/images/arrow_up_big.png)}div.b_portlet_toolbox a.b_portlet_edit_delete{background-image:url(../openolat/images/bin-metal-full.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_auto{background-image:url(../openolat/images/table_sort.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_manual{background-image:url(../openolat/images/table_gear.png)}div.b_portlet_toolbox span.b_portlet_edit_left_disabled{background-image:url(../openolat/images/arrow_left_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #94bed3;background:inherit}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head{vertical-align:top}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong{font-weight:bold}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon{background:transparent no-repeat 3px 50%;padding-left:19px;line-height:1.2em;color:black}.b_toolboxes .b_toolbox .b_toolbox_content ul{padding:0 0 0 6px;margin:0;list-style:none}.b_toolboxes .b_toolbox .b_toolbox_content li{padding:0;margin:0;line-height:1.7em;white-space:nowrap}.b_toolboxes .b_toolbox .b_toolbox_content li a{color:#667;background-repeat:no-repeat;background-position:0 50%;padding-left:20px;display:block}.b_toolboxes .b_toolbox .b_toolbox_content li a:focus,.b_toolboxes .b_toolbox .b_toolbox_content li a:hover,.b_toolboxes .b_toolbox .b_toolbox_content li a:active{color:#504D4E;text-decoration:underline}.b_toolboxes .b_toolbox .b_toolbox_content li div.b_note,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_important,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning{padding:0 0 0 20px;margin:0;border-bottom:0}.b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle{padding-left:0;display:inline}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper{float:right;font-size:90%}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled,.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled{color:#999;background:no-repeat 0 50% url(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}#b_main.o_coaching div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}#b_main.o_coaching div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background:#94bed3;background:-moz-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #94bed3), color-stop(100%, #025d8c));background:-webkit-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-o-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:-ms-linear-gradient(top, #94bed3 0%, #025d8c 100%);background:linear-gradient(top, #94bed3 0%, #025d8c 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress{background:#f85032;background:-moz-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f85032), color-stop(50%, #f16f5c), color-stop(51%, #f6290c), color-stop(100%, #e73827));background:-webkit-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-o-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:-ms-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%);background:linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #e73827 100%)}#b_main.o_coaching .o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background:#9dd53a;background:-moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #9dd53a), color-stop(50%, #a1d54f), color-stop(51%, #80c217), color-stop(100%, #7cbc0a));background:-webkit-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-o-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:-ms-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);background:linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%)}#b_main.o_coaching div.o_eff_statement_details{margin:10px 0 10px 0}#b_main.o_coaching .b_toolbar_center span.b_disabled{display:none}div.o_eff_statement_progress{width:100%;height:15px;background-color:#eeeeee;border:1px solid #777777}div.o_eff_statement_progress div.o_eff_statement_solved{height:15px;background-color:#81afca}.o_eff_statement_rg div.o_eff_statement_progress{background-color:red}.o_eff_statement_rg div.o_eff_statement_progress div.o_eff_statement_solved{background-color:green}div.o_eff_statement_details{margin:10px 0 10px 0}div.o_eff_statement_recalculating{padding-left:30px;background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}
diff --git a/src/main/webapp/static/themes/openolatexample/layout.css b/src/main/webapp/static/themes/openolatexample/layout.css
index cadaadfc85c7e70d5bfa47ae2287d33af24e79de..d8e2c11c490565a67d7c6bbc18024e020c85ebf4 100644
--- a/src/main/webapp/static/themes/openolatexample/layout.css
+++ b/src/main/webapp/static/themes/openolatexample/layout.css
@@ -26,4 +26,4 @@
  *  @author strentini, sergio.trentini@frentix.com,  www.frentix.com
  *  @date Nov. 2011
  * ========================================================
-**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 20px;min-height:16px;background-position:0 50%;background-repeat:no-repeat}option.b_with_small_icon_left{padding:0 0 0 20px;vertical-align:middle;min-height:11px;background-position:0 50%;background-repeat:no-repeat}.b_with_small_icon_right{padding:1px 20px 1px 0px;min-height:16px;background-position:100% 50%;background-repeat:no-repeat}.b_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{background-image:url("../openolat/images/exclamation.png")}.b_error_icon{background-image:url("../openolat/images/cross-circle.png")}.b_new_icon{background-image:url("../openolat/images/new-text.png")}.b_institution_icon{background-image:url("../openolat/images/home.png")}.b_group_icon{background-image:url("../openolat/images/users.png")}.b_user_icon{background-image:url("../openolat/images/user.png")}.b_move_left_icon{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon{background-image:url("../openolat/images/arrow_right_big.png")}.b_move_down_icon{background-image:url("../openolat/images/arrow_down_big.png")}.b_move_up_icon{background-image:url("../openolat/images/arrow_up_big.png")}.b_delete_icon{background-image:url("../openolat/images/bin-metal-full.png")}.b_share_icon{background-image:url("../openolat/images/share.png")}.b_status_enabled_icon{background-image:url("../openolat/images/tick.png")}.b_status_disabled_icon{background-image:url("../openolat/images/cross.png")}.b_edit_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.b_add_icon{background-image:url("../openolat/images/plus-circle.png")}.b_open_icon{background-image:url("../openolat/images/control/control.png")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.png)}.o_fulltext_search_button{background-image:url("../openolat/images/magnifier-zoom.png")}.o_help_icon{background-image:url("../openolat/images/help.png")}.o_rss_icon{background-image:url("../openolat/images/feed.png")}.o_login_guests{background-image:url("../openolat/images/user_silhouette.png")}.o_login_pwd{background-image:url("../openolat/images/user_excl.png")}.o_login_register{background-image:url("../openolat/images/user_register.png")}.o_news_icon{background-image:url("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.png")}.b_flag_en{background-image:url("../openolat/images/flags/gb.png")}.b_flag_de{background-image:url("../openolat/images/flags/de.png")}.b_flag_fr{background-image:url("../openolat/images/flags/fr.png")}.b_flag_it{background-image:url("../openolat/images/flags/it.png")}.b_flag_es{background-image:url("../openolat/images/flags/es.png")}.b_flag_da{background-image:url("../openolat/images/flags/dk.png")}.b_flag_cs{background-image:url("../openolat/images/flags/cz.png")}.b_flag_el{background-image:url("../openolat/images/flags/gr.png")}.b_flag_ee{background-image:url("../openolat/images/flags/ee.png")}.b_flag_ru{background-image:url("../openolat/images/flags/ru.png")}.b_flag_pl{background-image:url("../openolat/images/flags/pl.png")}.b_flag_zh_CN{background-image:url("../openolat/images/flags/cn.png")}.b_flag_zh_TW{background-image:url("../openolat/images/flags/tw.png")}.b_flag_lt{background-image:url("../openolat/images/flags/lt.png")}.b_flag_fa{background-image:url("../openolat/images/flags/ir.png")}.b_flag_pt_PT{background-image:url("../openolat/images/flags/pt.png")}.b_flag_pt_BR{background-image:url("../openolat/images/flags/br.png")}.b_flag_tr{background-image:url("../openolat/images/flags/tr.png")}.b_flag_hu{background-image:url("../openolat/images/flags/hu.png")}.b_flag_sq{background-image:url("../openolat/images/flags/al.png")}.b_flag_in{background-image:url("../openolat/images/flags/id.png")}.b_flag_ar{background-image:url("../openolat/images/flags/eg.png")}.b_flag_rm{background-image:url("../openolat/images/flags/rm.png")}.b_flag_af{background-image:url("../openolat/images/flags/za.png")}.b_flag_vi{background-image:url("../openolat/images/flags/vn.png")}.b_flag_mn{background-image:url("../openolat/images/flags/mn.png")}.b_flag_iw{background-image:url("../openolat/images/flags/il.png")}.b_flag_ko{background-image:url("../openolat/images/flags/kr.png")}.b_flag_nl_NL{background-image:url("../openolat/images/flags/nl.png")}.b_flag_jp{background-image:url("../openolat/images/flags/jp.png")}.b_flag_nb_NO{background-image:url("../openolat/images/flags/no.png")}.b_flag_et_EE{background-image:url("../openolat/images/flags/ee.png")}.b_flag_bg{background-image:url("../openolat/images/flags/bg.png")}.b_flag_hi_IN_ASIA{background-image:url("../openolat/images/flags/in.png")}.b_flag_ar_LB{background-image:url("../openolat/images/flags/lb.png")}.b_flag_de_FX_business{background-image:url("../openolat/images/flags/de.png")}.b_flag_de_FX_school{background-image:url("../openolat/images/flags/de.png")}.b_flag_en_FX_business{background-image:url("../openolat/images/flags/gb.png")}.b_flag_en_FX_school{background-image:url("../openolat/images/flags/gb.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_avi_icon{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_bat_icon{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_bmp{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_css{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_dvi{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_exe{background-image:url("../openolat/images/docs/document-binary.png") !important}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder,.b_filetype_folder_open{background-image:url("../openolat/images/folder_open.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.png") !important}.b_filetype_gif{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_gz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_jpeg,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_js{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_log{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_midi{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_mpeg,.b_filetype_mpg{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_odp{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ods{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_odt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_odg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_odf{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_png{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_ppt{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ps{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_readme,.b_filetype_README{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_rtf{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_tiff{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_xml{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_zip{background-image:url("../openolat/images/docs/document-zipper.png") !important}li.b_nav_site div,li.b_nav_tab div{background:url("../openolat/images/application.png") no-repeat left 50%;padding-left:18px}li.b_resource_BusinessGroup div,.o_BusinessGroup_icon{background-image:url("../openolat/images/users.png")}li.b_resource_GroupCard div,.o_GroupCard_icon{background-image:url("../openolat/images/users.png")}li.b_resource_CourseModule div,.o_CourseModule_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li.b_resource_HOMEPAGECONFIG div,.o_HOMEPAGECONFIG_icon,li.b_resource_Identity div{background-image:url("../openolat/images/card-address.png")}li.b_resource_FileResource-SHAREDFOLDER div,.o_FileResource-SHAREDFOLDER_icon{background-image:url("../openolat/images/folder_shared.png")}li.b_resource_FileResource-WIKI div,.o_FileResource-WIKI_icon{background-image:url("../openolat/images/le_resources/wiki.png")}li.b_resource_FileResource-PODCAST div,.o_FileResource-PODCAST_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li.b_resource_FileResource-BLOG div,.o_FileResource-BLOG_icon{background-image:url("../openolat/images/le_resources/blog.png")}li.b_resource_FileResource-MOVIE div,.o_FileResource-MOVIE_icon{background-image:url("../openolat/images/docs/document-film.png")}li.b_resource_FileResource-PDF div,.o_FileResource-PDF_icon{background-image:url("../openolat/images/docs/document-pdf.png")}li.b_resource_FileResource-PPT div,.o_FileResource-PPT_icon{background-image:url("../openolat/images/docs/document-powerpoint.png")}li.b_resource_FileResource-DOC div,.o_FileResource-DOC_icon{background-image:url("../openolat/images/docs/document-word.png")}li.b_resource_FileResource-IMSCP div,.o_FileResource-IMSCP_icon{background-image:url("../openolat/images/le_resources/box.png")}li.b_resource_FileResource-SCORMCP div,.o_FileResource-SCORMCP_icon{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li.b_resource_FileResource-FILE div,.o_FileResource-FILE_icon{background-image:url("../openolat/images/docs/document_plain.png")}li.b_resource_FileResource-IMAGE div,.o_FileResource-IMAGE_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SOUND div,.o_FileResource-SOUND_icon{background-image:url("../openolat/images/docs/document-music.png")}li.b_resource_FileResource-XLS div,.o_FileResource-XLS_icon{background-image:url("../openolat/images/docs/document-excel.png")}li.b_resource_FileResource-ANIM div,.o_FileResource-ANIM_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SURVEY div,.o_FileResource-SURVEY_icon{background-image:url("../openolat/images/le_resources/survey.png")}li.b_resource_FileResource-TEST div,.o_FileResource-TEST_icon{background-image:url("../openolat/images/le_resources/test.png")}li.b_resource_FileResource-GLOSSARY div,.o_FileResource-GLOSSARY_icon{background-image:url("../openolat/images/le_resources/glossary.png")}li.b_resource_org-olat-search-ui-SearchController div,.o_org-olat-search-ui-SearchController_icon{background-image:url("../openolat/images/magnifier-zoom.png")}li.b_resource_EPStructuredMapTemplate div{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.o_toolbox_course{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li a.o_toolbox_content{background-image:url("../openolat/images/le_resources/box.png")}li a.o_toolbox_scorm{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li a.o_toolbox_test{background-image:url("../openolat/images/le_resources/test.png")}li a.o_toolbox_questionnaire{background-image:url("../openolat/images/le_resources/survey.png")}li a.o_toolbox_wiki{background-image:url("../openolat/images/le_resources/wiki.png")}li a.o_toolbox_podcast{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li a.o_toolbox_blog{background-image:url("../openolat/images/le_resources/blog.png")}li a.o_toolbox_glossary{background-image:url("../openolat/images/le_resources/glossary.png")}li a.o_toolbox_sharedfolder{background-image:url("../openolat/images/folder_shared.png")}li a.o_toolbox_coursefolder{background-image:url("../openolat/images/le_resources/blue-folder.png")}li a.o_toolbox_courseareas{background-image:url("../openolat/images/users.png")}li a.o_toolbox_portfolio{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.b_toolbox_link{background-image:url("../openolat/images/bullet_black.png")}li a.b_toolbox_doc{background-image:url("../openolat/images/docs/document_plain.png")}li a.b_toolbox_preview{background-image:url("../openolat/images/docs/document_preview.png")}li a.b_toolbox_publish{background-image:url("../openolat/images/docs/document_share.png")}li a.b_toolbox_move{background-image:url("../openolat/images/docs/document_move.png")}li a.b_toolbox_close{background-image:url("../openolat/images/close.png")}li a.b_toolbox_delete{background-image:url("../openolat/images/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.png")}.o_midlock{top:9px;left:9px;background-image:url("../openolat/images/decorator/deco_condition.png")}.o_miderr{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_error.png")}.o_midwarn{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_midpub{top:-2px;left:9px;background-image:url("../openolat/images/decorator/deco_ok.png")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.o_bc_icon{background-image:url("../openolat/images/folder.png") !important}.o_co_icon{background-image:url("../openolat/images/mail.png") !important}.o_cp_icon{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_dialog_icon{background-image:url("../openolat/images/docs/document_discuss.png") !important}.o_en_icon{background-image:url("../openolat/images/enrol.png") !important}.o_fo_icon{background-image:url("../openolat/images/forum/forum.png") !important}.o_iqself_icon{background-image:url("../openolat/images/le_resources/selftest.png") !important}.o_iqsurv_icon{background-image:url("../openolat/images/le_resources/survey.png") !important}.o_iqtest_icon{background-image:url("../openolat/images/le_resources/test.png") !important}.o_ms_icon{background-image:url("../openolat/images/le_resources/thumb-up.png") !important}.o_scorm_icon,.o_scorm_org{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_scorm_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_scorm_asset{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_sp_icon{background-image:url("../openolat/images/docs/document-text.png") !important}.o_st_icon{background-image:url("../openolat/images/node-select-all.png") !important}.o_ta_icon{background-image:url("../openolat/images/docs/document-task.png") !important}.o_tu_icon{background-image:url("../openolat/images/docs/document-import.png") !important}.o_wiki_icon{background-image:url("../openolat/images/le_resources/wiki.png") !important}.o_ll_icon{background-image:url("../openolat/images/docs/document_linklist.png") !important}.o_cl_icon{background-image:url("../openolat/images/clipboard-task.png") !important}.o_den_icon{background-image:url("../openolat/images/clock.png") !important}.o_projectbroker_icon{background-image:url("../openolat/images/projectbroker.png") !important}.o_podcast_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png") !important}.o_blog_icon{background-image:url("../openolat/images/le_resources/blog.png") !important}.o_cal_icon{background-image:url("../openolat/images/calendar.png") !important}.o_lti_icon{background-image:url("../openolat/images/docs/document-node.png") !important}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.png") !important}.o_infomsg_icon{background-image:url("../openolat/images/information-button.png") !important}.o_cmembers_icon{background-image:url("../openolat/images/users.png") !important}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:yellow;background:-moz-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, yellow), color-stop(33%, red), color-stop(66%, blue), color-stop(100%, green));background:-webkit-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-o-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-ms-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%)}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;background-color:white;moz-box-shadow:0 0 14px #d3d3d3;-ms-box-shadow:0 0 14px #d3d3d3;-o-box-shadow:0 0 14px #d3d3d3;-webkit-box-shadow:0 0 14px #d3d3d3;box-shadow:0 0 14px #d3d3d3}#b_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 14px #d3d3d3}#b_page a#b_toplink{position:absolute;bottom:1em;right:1em;background:transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;padding-left:14px;z-index:5}#b_header,#b_page,#b_col1_content,#b_col2_content,#b_col3_content,#b_col3_content_inner{position:relative}#b_col1{overflow:hidden}#b_col1_content{padding:1em 10px 1em 0px}#b_col3{border-left:1px #DDD dotted;border-right:1px #DDD dotted}#b_col3_content{min-height:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.b_c15r,.b_c20r,.b_c80r,.b_c85r{float:right;margin-left:-5px}.b_c15l,.b_c15r{width:15%}.b_c20l,.b_c20r{width:20%}.b_c80l,.b_c80r{width:80%}.b_c85l,.b_c85r{width:85%}.b_subcolumns_oldgecko,.b_c20l,.b_c15l,.b_c80l,.b_c85l{float:left}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0  0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#b_nav_main{float:left}#b_nav_main ul{padding-left:40px;margin:0}#b_nav_main ul li{float:left;position:relative;list-style:none;margin:0px;padding:4px 3px 4px 12px;margin-right:2px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close,#b_nav_main ul li.b_nav_site.b_exception a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li.b_nav_site > div{padding-left:16px;background-repeat:no-repeat;background-position:0% 50%;background-image:url("../openolat/images/application.png")}#b_nav_main ul li.b_nav_site.o_site_home > div{background-image:url("../openolat/images/home.png")}#b_nav_main ul li.b_nav_site.o_site_admin > div{background-image:url("../openolat/images/wrench-screwdriver.png")}#b_nav_main ul li.b_nav_site.o_site_useradmin > div{background-image:url("../openolat/images/user_conf.png")}#b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div{background-image:url("../openolat/images/users_conf.png")}#b_nav_main ul li.b_nav_site.o_site_repository > div{background-image:url("../openolat/images/books-stack.png")}#b_nav_main ul li.b_nav_site.o_site_groups > div{background-image:url("../openolat/images/users.png")}#b_nav_main ul li.b_nav_site.o_site_coaching > div{background-image:url("../openolat/images/eye.png")}#b_nav_main ul li.b_nav_site.site_demo_icon > div{background-image:url("../openolat/images/information-white.png")}#b_nav_main ul li.b_nav_site.f_site_library > div{background-image:url("../openolat/images/library.png")}#b_nav_main ul li.b_nav_site.fx_members > div{background-image:url("../openolat/images/users_members.png")}#b_nav_main ul li.b_nav_site.o_site_guidemo div{background-image:url("../openolat/images/light-bulb.png")}#b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div{background-image:url(../openolat/images/users.png)}#b_nav_main ul li.b_nav_tab{margin-right:4px}#b_nav_main ul li.b_nav_tab a.b_nav_tab_close{position:absolute;top:3px;right:4px;width:13px;height:13px;line-height:0;padding:0;margin:0;background:transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top}#b_nav_main ul li.b_nav_tab.b_nav_active,#b_nav_main ul li.b_nav_tab:hover{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li#b_nav_spacer{background:none;border:none;width:20px;height:1px;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}div.b_tree ul li a.b_tree_icon{padding-left:20px;padding-top:2px;position:relative;background-position:0 50%;background-repeat:no-repeat}div.b_tree ul li a{color:#555555}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:0px;z-index:9}div.b_tree ul li a:focus,div.b_tree ul li a:hover{color:red;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:red;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:red;font-weight:bold}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li a.b_tree_l0{padding-left:13px}div.b_tree ul li a.b_tree_l1{padding-left:13px}div.b_tree ul li a.b_tree_l2{padding-left:13px}div.b_tree ul li a.b_tree_l3{padding-left:13px}div.b_tree ul li a.b_tree_l4{padding-left:13px}div.b_tree ul li a.b_tree_l5{padding-left:13px}div.b_tree ul li a.b_tree_l6{padding-left:13px}div.b_tree ul li a.b_tree_l7{padding-left:13px}div.b_tree ul li a.b_tree_l8{padding-left:13px}div.b_tree ul li a.b_tree_l9{padding-left:13px}div.b_tree ul li a.b_tree_l10{padding-left:13px}div.b_tree ul li a.b_tree_l11{padding-left:13px}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;background-repeat:no-repeat}div.b_tree ul li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree a.b_tree_level_close{background:transparent !important}div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#b_main.b_menu_toolbar #b_col1_content{padding-top:0;padding-right:0}#b_main.b_menu_toolbar #b_col3_content{padding:0}div.b_menu_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}div.b_breadcumb_path{padding:0;margin:0;float:left;display:inline}div.b_breadcumb_path ul{padding:0;margin:0;list-style:none;float:left;display:inline}div.b_breadcumb_path ul li{padding:0 7px 0 14px;margin:0;list-style:none;float:left;display:inline;background:url(../openolat/images/breadcrumb-separator.png) no-repeat left 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;padding-left:25px}div.b_breadcumb_path ul li a{color:#464444}div.b_breadcumb_path ul li span.b_disabled{color:#000;padding:0 10px 0 0;margin:0}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #dadada}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}div.b_noti{border:1px solid #E9EAEF;padding:3px 23px 3px 3px;float:right;display:inline;position:relative;right:0;font-size:95%}div.b_noti a.b_contexthelp{position:absolute;top:2px;right:2px}div.b_noti a.b_noti_unsubscribe_link{background:url(../openolat/images/mail--minus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_subscribe_link{background:url(../openolat/images/mail--plus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_markedread_link{background:url(../openolat/images/tick.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}h1.b_titled_wrapper span{padding-right:4em;font-style:italic}h2.b_titled_wrapper span{padding-right:4em;font-style:italic}h3.b_titled_wrapper span{padding-right:4em;font-style:italic}h4.b_titled_wrapper span{padding-right:3em;font-style:italic}h5.b_titled_wrapper span{padding-right:3em;font-style:italic}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content{position:relative;margin-bottom:1em}div.b_titled_wrapper_desc a.b_togglebox_hide span{position:absolute;bottom:0;right:0;padding:0 6px 3px 0}div.b_titled_wrapper_desc a.b_togglebox_hide:hover{text-decoration:underline}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}div.o_course_run_dropbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_returnbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_solutionbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.b_float_left{float:left;display:inline;margin-right:1em;margin-bottom:0.15em}.b_float_right{float:right;display:inline;margin-left:1em;margin-bottom:0.15em}.b_center{text-align:center;margin:0.5em auto}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_dd_item.b_dd_over{background-color:#ffff60}.b_dd_sibling{height:3px;width:100%}.b_dd_sibling.b_dd_over{background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat}div.b_dd_ct div.b_dd_sibling_l1{margin-left:0 !important}div.b_dd_ct div.b_dd_sibling_l2{margin-left:1em !important}div.b_dd_ct div.b_dd_sibling_l3{margin-left:2em !important}div.b_dd_ct div.b_dd_sibling_l4{margin-left:3em !important}div.b_dd_ct div.b_dd_sibling_l5{margin-left:4em !important}div.b_dd_ct div.b_dd_sibling_l6{margin-left:5em !important}div.b_dd_ct div.b_dd_sibling_l7{margin-left:6em !important}div.b_dd_ct div.b_dd_sibling_l8{margin-left:7em !important}div.b_dd_ct div.b_dd_sibling_l9{margin-left:8em !important}div.b_dd_ct div.b_dd_sibling_l10{margin-left:9em !important}div.b_dd_ct div.b_dd_sibling_l11{margin-left:10em !important}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}div.b_layer_1 div.b_modal_area{width:82%;margin:9%}div.b_layer_2 div.b_modal_area{width:76%;margin:12%}div.b_layer_3 div.b_modal_area{width:70%;margin:15%}div.b_layer_5 div.b_modal_area{width:64%;margin:18%}div.b_modal_area{position:absolute;top:0px;left:0px;width:80%;margin:10%;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid red;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;background:#fff}div.b_window .b_window_header_wrapper{padding:2px 8px 0px 8px}div.b_window div.b_window_header{position:relative;border-bottom:1px solid #eee}div.b_window div.b_window_header_title{min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_window div.b_window_header_title a.b_link_close{top:4px;right:4px;position:absolute;min-height:16px;min-width:16px;background:transparent url("../openolat/images/close.png") no-repeat center center;display:inline-block}div.b_window div.b_window_header_title a.b_link_close:hover{top:4px;right:4px}div.b_window div.b_window_header_title strong{font-weight:bold}div.b_window div.b_window_content_wrapper{clear:both;width:auto;padding:0 4px 0 4px}div.b_window div.b_window_content{padding:1em}div.b_window div.b_window_content_inner{min-height:200px;position:relative}div.b_window div.b_window_footer_wrapper{height:4px}div.b_callout_content{max-width:60em;overflow:hidden}div.x-tip-tc,div.x-tip-bc{background-repeat:repeat !important}div.x-tip-body p{margin-bottom:0px}div.x-tip-mc{background:#e9f2ff !important}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}div.b_msg_dialog{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_question_32.png) no-repeat 10px 10px}div.b_msg_dialog .b_msg_title{font-weight:bold}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid red;background:#FAFAFA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_msg-div .b_msg_info_winicon{background:transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center}div.b_msg_info_content{padding:10px 10px 10px 50px}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#b_msg_info{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_info_32.png) no-repeat 10px 10px}#b_msg_info .b_msg_title{font-weight:bold}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_wizard div.b_wizard_header_title a.b_link_close{top:4px;right:4px;background:url(../openolat/images/close.png);background-repeat:no-repeat}div.b_wizard div.b_wizard_header_title strong{font-weight:bold}div.b_wizard div.b_wizard_steps_wrapper{clear:both;width:auto;padding:0 4px 0 4px;background:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}div.b_wizard div.b_wizard_steps_list li a:hover{color:#4F576A;background:transparent;text-decoration:underline}div.b_wizard div.b_wizard_steps_list li .b_disabled{color:#basegray_light;border:0;background:transparent;padding:0;margin:0;white-space:normal;font-style:italic}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}div.b_wizard div.b_wizard_footer div.b_button_group{text-align:left;padding:0.5em 1em 0.5em 21em;margin:0}span.b_wizard_button_prev:before,a.b_wizard_button_prev span:before{content:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}a.b_wizard_button_finish,span.b_wizard_button_finish{margin-left:3em}a.b_wizard_button_cancel,span.b_wizard_button_cancel{margin-left:3em}.b_wizard_table_changedcell{font-style:italic;font-weight:bold;background:url(../openolat/images/new-text.png) no-repeat;padding-left:18px}div.b_legacy_wizard_steps{float:right;display:inline}.b_legacy_wizard_step_a1{background-image:url(../openolat/images/wizard/1a.png)}.b_legacy_wizard_step_a2{background-image:url(../openolat/images/wizard/2a.png)}.b_legacy_wizard_step_a3{background-image:url(../openolat/images/wizard/3a.png)}.b_legacy_wizard_step_a4{background-image:url(../openolat/images/wizard/4a.png)}.b_legacy_wizard_step_a5{background-image:url(../openolat/images/wizard/5a.png)}.b_legacy_wizard_step_a6{background-image:url(../openolat/images/wizard/6a.png)}.b_legacy_wizard_step_a7{background-image:url(../openolat/images/wizard/7a.png)}.b_legacy_wizard_step_a8{background-image:url(../openolat/images/wizard/8a.png)}.b_legacy_wizard_step_a9{background-image:url(../openolat/images/wizard/9a.png)}.b_legacy_wizard_step_p1{background-image:url(../openolat/images/wizard/1p.png)}.b_legacy_wizard_step_p2{background-image:url(../openolat/images/wizard/2p.png)}.b_legacy_wizard_step_p3{background-image:url(../openolat/images/wizard/3p.png)}.b_legacy_wizard_step_p4{background-image:url(../openolat/images/wizard/4p.png)}.b_legacy_wizard_step_p5{background-image:url(../openolat/images/wizard/5p.png)}.b_legacy_wizard_step_p6{background-image:url(../openolat/images/wizard/6p.png)}.b_legacy_wizard_step_p7{background-image:url(../openolat/images/wizard/7p.png)}.b_legacy_wizard_step_p8{background-image:url(../openolat/images/wizard/8p.png)}.b_legacy_wizard_step_p9{background-image:url(../openolat/images/wizard/9p.png)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong{width:auto}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active{color:#000;text-decoration:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong{color:#000;font-weight:bold}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled{background:white !important}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong{color:#8994A9;background:transparent !important;font-weight:normal}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:3px;border-top-left-radius:3px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:3px}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:0px}div.b_tabbedpane_wrapper div.b_tabbedpane_content{clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner{position:relative;min-height:30em}div.b_segments_container{min-height:25px;padding-top:8px;position:relative;background:url(../openolat/images/divider.png) center top no-repeat}div.b_segments_container div.b_segments{clear:both;position:absolute;left:50%}div.b_segments_container div.b_segments a:hover{text-decoration:none}div.b_segments_container div.b_segments ul{position:relative;left:-50%;list-style-type:none;margin:0}div.b_segments_container div.b_segments ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_segments_container div.b_segments ul li a{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_segments_container div.b_segments ul li a:hover,div.b_segments_container div.b_segments ul li a:active,div.b_segments_container div.b_segments ul li a:focus{text-decoration:none}div.b_segments_container div.b_segments ul li:hover{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_segments_container div.b_segments ul li.b_segment_selected{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_segments_container div.b_segments ul li.b_segment_selected a,div.b_segments_container div.b_segments ul li.b_segment_selected strong{color:#000;font-weight:bold}div.b_segments_container div.b_segments ul li.b_segment_first{-webkit-border-top-left-radius:12px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:12px;-moz-border-radius-topleft:12px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:12px;border-top-left-radius:12px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:12px}div.b_segments_container div.b_segments ul li.b_segment_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:12px;-moz-border-radius-bottomright:12px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:0px}div.b_segments_container div.b_segment_content{margin-top:50px;clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}button{border:none}.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_button,.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center}.b_button:focus,.b_button:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_button:focus{border:1px solid red}.b_button:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border:1px solid red}.b_button.b_button_preferred{background:#f7d1d1;background:-moz-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7d1d1), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);border:1px solid red}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.b_button_dirty{background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%);border-color:#ff9900}.b_button_dirty:focus,.b_button_dirty:hover{text-decoration:none;border:1px solid #ffc20e;background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%)}.b_disabled.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;background:#fff}.b_disabled.b_button,.b_disabled.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center;cursor:default !important;color:#888}.b_disabled.b_button:focus,.b_disabled.b_button:hover{moz-box-shadow:0 0 0 transparent;-ms-box-shadow:0 0 0 transparent;-o-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}div.b_button_group{text-align:center;margin:2em 0 1em 0}div.b_button_group div{display:inline}.b_xsmall,sup,sub{font-size:80%}.b_small,small{font-size:90%}a.b_toggle{white-space:nowrap;margin:0 0.5em 0.2em 0;cursor:default;color:#2C2B2B;border:1px solid #aaa;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_off.png) top left repeat-x}a.b_toggle span{padding:0 0.8em}a.b_toggle:hover{background:#ddd;text-decoration:none}a.b_toggle.b_on:hover{background:#747474}a.b_toggle.b_on,a.b_toggle:active,a.b_toggle.b_on:active{color:white;border:none;padding:1px;moz-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-ms-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-o-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-webkit-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);text-shadow:1px 1px 2px rgba(0, 0, 0, 0.5)}a.b_toggle:focus,a.b_toggle.b_on:focus{text-decoration:none}a.b_toggle:active,a.b_toggle.b_on:active{background:url(../openolat/images/toggle_active.png) top left repeat-x}a.b_toggle.b_on{background:url(../openolat/images/toggle_on.png) top left repeat-x}span.b_toggle.b_disabled{white-space:nowrap;margin:0 0.5em 0.2em 0;padding:0 0.8em;color:#667;border:1px solid #DDD;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_dis.png) top left repeat-x}a.b_toggle_slide{background:url(../openolat/images/handle.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.2em 0.2em 0.2em;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle;position:relative}a.b_toggle_slide span{position:absolute;top:-25px;left:0}a.b_toggle_slide:hover,a.b_toggle_slide:focus,a.b_toggle_slide:active,a.b_toggle_slide.b_on:hover,a.b_toggle_slide.b_on:focus,a.b_toggle_slide.b_on:active{border:1px solid #868686;text-decoration:none}a.b_toggle_slide.b_on{background-position:-16px 0px}a.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_dis.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle}a.b_toggle_slide.b_small{background:url(../openolat/images/handle_small.png) -41px 0px no-repeat;height:16px;width:55px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}a.b_toggle_slide span{position:absolute;top:-16px}a.b_toggle_slide.b_small.b_on{background-position:-9px 0px}span.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;height:16px;width:55px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;display:inline-block;text-align:center;vertical-align:middle}span.b_toggle_slide_legend{font-size:90%}.b_link_back{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_back > span{padding:0px 8px 0px 25px;background:transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center}.b_link_back:focus,.b_link_back:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_back:focus{border-color:red}.b_link_back:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:red}.b_link_left_icon{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_left_icon:focus{border-color:red}.b_link_left_icon:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:red}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_login div.o_login_form li{list-style:none}div.o_login div.o_login_form fieldset legend{display:none}div.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border:1px solid #504D4E}input.b_checkbox,input.b_radio{height:1em;width:1em;border:0;margin:0 2px 0 0}label.b_checkbox_label,label.b_radio_label{padding-left:0.5em}.b_inline_editable{padding:1px 20px 1px 0;vertical-align:middle;min-height:16px}.b_inline_editable:hover{background-position:100% 50%;background-repeat:no-repeat;background-image:url(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #ff6666}fieldset legend{font-family:Comic Sans, Comic Sans MS, cursive;padding:0 5px;font-size:120%;font-weight:bold}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}div.b_form div.b_form_general_error{padding:10px 10px 10px 50px;margin-bottom:20px;text-align:left;background:url(../openolat/images/icon_error_32.png) no-repeat 10px 10px;min-height:32px;border:1px solid #990000;color:#990000;font-style:italic}div.b_form div.b_form_spacer{margin:10px 0}div.b_form hr.b_form_spacer{margin:10px 0;border-bottom:1px solid #eee;padding:0}div.b_form hr.b_form_spacer.b_form_horizontal{display:inline-block;width:2em}div.b_form hr.b_form_spacer.b_form_spacer_noline{margin:10px 0;border-bottom:0;padding:0}div.b_form div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0}div.b_form div.b_form_element_wrapper.b_form_horizontal{vertical-align:middle;margin:0.5em 1em 0.5em 0;float:left;display:inline}div.b_form div.b_form_element_wrapper.b_form_vertical{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_label{width:20%;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label label{float:left;display:inline;line-height:1.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory{background:url(../openolat/images/star-small.png) no-repeat;padding-left:16px;height:16px}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal{width:auto;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical{width:auto;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:25%;padding:0 2px 0 12px}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal{margin-left:0;padding-left:0;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical{margin-left:0;margin-top:0.5em;padding-left:0;float:none;display:block;clear:both}div.b_form div.b_form_element_wrapper.b_form_error input,div.b_form div.b_form_element_wrapper.b_form_error select{border:1px solid #990000;background:#ebcccc}div.b_form div.b_form_element_wrapper div.b_form_error_msg{clear:both;color:#990000;font-style:italic;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0}div.b_form div.b_button_group{margin-left:0%;padding-left:0px;text-align:left}div.b_form.b_form_vertical div.b_button_group{text-align:left}div.b_form div.b_form_element div.b_form_example{display:inline;font-size:80%;color:#504D4E}div.b_form div.b_form_element .b_form_disabled{color:#504D4E}div.b_form div.b_form_element .b_form_element_disabled{color:#9E9C9C;background:#EEEEEE;border:1px solid #CDCBCB}div.b_form div.b_form_element span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px;padding-top:3px}div.b_form div.b_form_element a.b_form_groupchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_genericchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_wikitext{background-repeat:no-repeat;padding-left:12px;line-height:1.5em;font-style:italic}div.b_form div.b_form_element a.b_form_wikitext,div.b_form div.b_form_element .b_wiki_icon{background-image:url(../openolat/images/wiki/wiki_small_9px.png)}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}div.b_button_group div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element_label{width:auto;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element{margin-left:0}.b_subcolumns{display:table;width:100%;table-layout:fixed}.b_c25l input,.b_c25r input{max-width:93%}div.calendar{z-index:10000 !important}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element{margin:0;float:left}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label{float:none;width:auto;display:block;padding-left:2.5em}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label{float:none}div.b_form_subform{padding-left:2.5em}div.b_form_selection_vertical div.b_form_selection_element{vertical-align:middle;line-height:1.3em;position:relative}div.b_form_selection_vertical div.b_form_selection_element input{vertical-align:middle;line-height:1.3em}div.b_form_selection_horizontal div.b_form_selection_element{float:left;display:inline;padding-right:1em}div.b_form_selection_horizontal div.b_form_selection_element input{vertical-align:middle}div.b_form div.b_form_element div.b_form_togglecheck{font-size:95%;display:block;vertical-align:middle;line-height:16px;margin-top:0.5em}div.b_form div.b_form_element div.b_form_togglecheck input{height:1em;width:1em}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}table.b_choice{padding:0;margin:0}table.b_choice td{padding:0.1em;margin:0}table.b_choice td.b_togglecheck{padding-top:1em}table.b_choice td.b_togglecheck div.b_togglecheck{display:inline;border-top:1px solid #eee}table.b_choice td.b_togglecheck input{margin:0 7px 0 2px}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:absolute;top:0px;left:0px;z-index:1;display:inline;white-space:nowrap}div.b_fileinput div.b_fileinput_fakechooser a{margin-left:5px}div.b_fileinput span.b_fileinput_maxsize{padding:1px 0 1px 1em;font-style:italic;min-height:16px;vertical-align:middle}div.b_fileinput input.b_fileinput_realchooser{position:relative;top:0;left:0;z-index:2;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}div.b_fileinput div.b_button_group{text-align:left;padding-left:0;margin-left:0}.b_fileinput_icon{background-image:url(../openolat/images/drive.png)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#ffcccc}div.b_progress div.b_progress_bar div{height:12px;background:#ff6666;background:-moz-linear-gradient(top, #ff6666 0%, red 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff6666), color-stop(100%, red));background:-webkit-linear-gradient(top, #ff6666 0%, red 100%);background:-o-linear-gradient(top, #ff6666 0%, red 100%);background:-ms-linear-gradient(top, #ff6666 0%, red 100%);background:linear-gradient(top, #ff6666 0%, red 100%)}div.b_mark{width:20px;height:20px}div.b_mark div.b_form_element_wrapper{margin:0}div.b_mark div.b_form_element_wrapper div.b_form_element{margin:0;padding:0}div.b_mark a.b_mark_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px}div.b_mark a.b_mark_not_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}table{border-collapse:collapse;margin-bottom:0.5em;border-top:0px solid white;border-bottom:0px solid white}table caption{font-variant:small-caps}table.b_full{width:99.5%}table.fixed{table-layout:fixed}table th,table td{padding:0.3em}table thead th{color:inherit;border-bottom:1px solid #ccc}table tbody tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#ffcccc}div.b_table_wrapper div.b_table_filter{float:left;display:inline;font-size:95%;margin:7px 10px 2px 0}div.b_table_wrapper div.b_table_filter label{font-style:italic;margin:5px 0 2px 0}div.b_table_wrapper div.b_table_filter select{border:1px solid #ACAAAA}div.b_table_wrapper div.b_clearfix div.b_floatbox{margin:5px 0 0 0}div.b_table_wrapper div.b_table_count{font-size:95%;float:left;line-height:16px;vertical-align:bottom;margin:3px;font-size:95%}div.b_table_wrapper a.b_table_prefs,div.b_table_wrapper a.b_table_download{float:right;display:block;background-repeat:no-repeat;background-position:top left;width:16px;height:16px;margin:3px}div.b_table_wrapper a.b_table_prefs{background-image:url(../openolat/images/table_gear.png)}div.b_table_wrapper a.b_table_download{background-image:url(../openolat/images/table_download.png)}div.b_table_wrapper div.b_table_buttons{text-align:center;margin:1.5em 0 1em 0}div.b_table_wrapper div.b_table_empty{margin:1em 0}div.b_table_page{font-size:95%;text-align:center}div.b_table_page a{margin:0;padding:2px}div.b_table_page a.b_table_page_active{font-weight:bold;color:#000}div.b_table_page a.b_table_backward{background:url(../openolat/images/arrow_left.png) no-repeat center left;padding-left:16px}div.b_table_page a.b_table_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}div.b_table_page a.b_table_first_page{background:url(../openolat/images/home.png) no-repeat center left;padding-left:18px}div.b_table_page_all{font-size:95%;text-align:center}a.b_dev{position:absolute;left:0;top:0;z-index:4000;background:red url("../openolat/images/bug.png") no-repeat;width:16px;height:16px;border:1px solid #000}#b_devcon_main{background-color:#ccddff;position:absolute;z-index:4000;top:10px;left:5%;width:90%;text-align:left;border:1px solid #000}#b_devcon_handle{cursor:move;background:blue url(../openolat/images/bug.png) no-repeat 4px 50%;line-height:2em;padding-left:24px;color:white}a#b_devcon_handle_collapse{cursor:pointer;background:url("../openolat/images/tree_parent_open.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a.b_devcon_handle_close{cursor:pointer;background:url(../openolat/images/close.png) no-repeat;width:15px;height:15px;float:right;margin:3px}#b_devcon_content{font-size:90%;padding:5px;border-top:0px solid #000;background:transparent}#b_devcon_content ul{float:left;margin:0;padding:0;list-style:none;white-space:nowrap}#b_devcon_content li{margin:0;padding:0 10px 0 0;float:left}#b_devcon_content fieldset{border-top:1px solid #ccc;margin:0;padding:8px}#b_devcon_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}#b_js_log textarea#o_debug_cons{width:99%;height:15em;font-family:monospace;font-size:110%;margin:5px 0 5px 0}iframe.o_debug_json{position:fixed;width:90%;margin-left:5%;bottom:4px;height:300px;background:white;border:2px solid #ccd8e7;z-index:90000}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}div.b_briefcase_foldercomp div.b_briefcase_createactions{margin:0.5em 0}div.b_briefcase_foldercomp div.b_briefcase_createactions ul{list-style:none;margin:0;padding:0;white-space:nowrap;font-size:95%}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li{float:right;display:inline;margin:0 0 0 1em;padding:0 0 0 3px;position:relative}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a{background-position:0 50%;background-repeat:no-repeat;padding:2px 0 2px 20px}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload{background-image:url(../openolat/images/docs/document_upload.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder{background-image:url(../openolat/images/folder_new.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile{background-image:url(../openolat/images/docs/document_add.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles{background-image:url(../openolat/images/docs/document_remove.png)}div.b_briefcase_foldercomp div.b_briefcase_breadcrumb{clear:both;padding:1px 0 1px 20px;margin:0.5em 0 0 0;background:url(../openolat/images/folder_open.png) no-repeat 0 50%}div.b_briefcase_foldercomp div.b_briefcase_empty{clear:both;margin-top:0.5em;font-style:italic}div.b_briefcase_foldercomp table.b_briefcase_filetable{clear:both;border-collapse:collapse;margin-bottom:0.5em;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a,div.b_briefcase_foldercomp table.b_briefcase_filetable thead span{color:#4F576A;font-weight:bold}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus{color:#000000;text-decoration:none;background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable th,div.b_briefcase_foldercomp table.b_briefcase_filetable td{white-space:nowrap;text-align:right;padding-right:1em}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-right:0}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child{width:60%;text-align:left}div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox{margin:0 4px 0 0}div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus{background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-left:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td{border:0;padding:0 0 0 3px;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon{background-image:url(../openolat/images/docs/document--pencil.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/locked.png)}div.b_briefcase_preview{background-color:white;width:200px;height:200px;border:1px solid #8EAACE;margin-top:2px}div.b_briefcase div.b_briefcase_searchcomp{float:left;display:inline;margin:0.5em 0;width:14em}div.b_briefcase div.b_briefcase_searchcomp input{width:10em}div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_briefcase div.b_briefcase_commandbuttons{margin:1em 0}div.b_briefcase div.b_briefcase_webdav{margin:0.5em 0}div.b_briefcase div.b_briefcase_quota{clear:both;margin-top:1em;padding-top:1em;border-top:1px solid #000}div.b_briefcase_meta{size:0.8em}div.b_briefcase_meta p{font-style:italic;margin:0;padding-top:2px}div.b_send_documents ol.textbox-outer{margin-left:0;border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em}div.b_send_documents ol li{margin-left:0}div.b_send_documents textarea{overflow:auto;resize:none}@media all{div.o_wiki_wrapper{clear:both}div.o_wiki_wrapper div.o_wikimod_btn{position:relative}div.o_wiki_wrapper div.o_wikimod_btn a{margin-bottom:9px;background-repeat:no-repeat;background-position:center center;width:20px;height:19px;float:left;display:inline;padding-left:2px;border:1px solid #ccc;background-color:#eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;margin-right:2px}div.o_wiki_wrapper div.o_wikimod_btn a:hover{border:1px solid red}div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}div.o_wiki_wrapper a.o_wikimod_btn_bold{background-image:url(../openolat/images/wiki/edit-bold.png)}div.o_wiki_wrapper a.o_wikimod_btn_italic{background-image:url(../openolat/images/wiki/edit-italic.png)}div.o_wiki_wrapper a.o_wikimod_btn_link{background:url(../openolat/images/wiki/chain.png)}div.o_wiki_wrapper a.o_wikimod_btn_extlink{background:url(../openolat/images/wiki/chain--arrow.png)}div.o_wiki_wrapper a.o_wikimod_btn_headline{background:url(../openolat/images/wiki/edit-heading.png)}div.o_wiki_wrapper a.o_wikimod_btn_image{background:url(../openolat/images/wiki/image-medium.png)}div.o_wiki_wrapper a.o_wikimod_btn_media{background:url(../openolat/images/music-beam.png)}div.o_wiki_wrapper a.o_wikimod_btn_math{background:url(../openolat/images/wiki/edit-math.png)}div.o_wiki_wrapper a.o_wikimod_btn_nowiki{background:url(../openolat/images/wiki/edit-nowiki.png)}div.o_wiki_wrapper a.o_wikimod_btn_hr{background:url(../openolat/images/wiki/edit-hr.png)}div.o_wiki_wrapper a.o_wikimod_btn_list{background:url(../openolat/images/wiki/edit-list.png)}div.o_wiki_wrapper a.o_wikimod_btn_numlist{background:url(../openolat/images/wiki/edit-list-order.png)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}div.o_wiki_wrapper h1{font-size:1.0em}div.o_wiki_wrapper h2{font-size:1.0em}div.o_wiki_wrapper h3{font-size:1.0em}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}div.o_wikimod_nav{font-size:90%;padding-top:1.5em}div.o_wikimod_nav legend{font-size:95%}div.o_wikimod_nav fieldset{padding:0.5em}div.o_wikimod_nav input{width:99%}div.o_wikimod_nav ul{margin:0;padding:0}div.o_wikimod_nav div.b_button_group{margin:0.5em 0;text-align:left}div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_wikimod_nav .b_form_element_wrapper .b_form_element{padding:0}div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{margin:0.5em 0}div.o_wikimod_editform_wrapper{clear:both;padding:0.5em 0 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label{display:none}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element{clear:both;margin-left:0;padding:0 5px 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_button_group{margin-left:0;text-align:center}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}h1.o_wikimod_heading,h3.o_wikimod_heading{margin:0 0 1em 0;padding:.5em 0 .17em 0;border-bottom:1px solid #BFBFBF}#o_wikimod_uploader{margin:1em 0 0 0}.o_wikimod_version{border:1px solid #BFBFBF;padding:4px;margin-top:5px}.o_wikimod_diff{border:1px solid #BFBFBF;padding:4px;margin:0px}.o_wikimod_warn{color:#DF9719}.o_wiki_error{background-color:#DF9719}.o_wikimod_ins{background-color:#A4DCA4}.o_wikimod_old{background-color:#FFCCCC}.o_wikimod_new{background-color:#A4DCA4}.o_wikimod_del{background-color:#FFCCCC}.wiki-image{float:right;padding:10px;clear:right}.wiki-file-deleted{text-decoration:line-through}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#eeeeee}div.o_forum div.o_forum_message_header_wrapper{min-height:24px}div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header{min-height:24px}div.o_forum div.o_forum_message_title{vertical-align:middle;padding:2px 5px 2px 5px;min-height:24px}div.o_forum div.o_forum_message_title strong{font-weight:bold}div.o_forum div.o_forum_message_new div.o_forum_message_title strong{background:url(../openolat/images/new-text.png) no-repeat top right;padding-right:20px}div.o_forum div.o_forum_message_creator{width:100px;padding:0.5em 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}div.o_forum div.o_forum_message_creator strong{font-weight:normal}div.o_forum div.o_forum_message_creator img{border:1px solid #4F576A}div.o_forum div.o_forum_message_body{padding:0.5em;background:transparent;margin-right:155px}div.o_forum div.o_forum_message_attachments{margin:2em 0 0.5em 0;border-top:1px solid #555555;font-size:95%}div.o_forum div.o_forum_message_attachments strong{display:block;margin:0.5em 0;font-weight:normal;font-style:italic}div.o_forum div.o_forum_message_attachments ul{list-style:none;margin:0;padding:0}div.o_forum div.o_forum_message_attachments li{margin:0;padding:0}div.o_forum div.o_forum_message_attachments a{background-repeat:no-repeat;background-position:0 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}div.o_forum div.o_forum_message_modified{clear:both;border-top:1px solid #506D90;padding:0.5em 0 0 0;font-size:95%;font-style:italic;text-align:center;color:#98221F}div.o_forum div.o_forum_message_actions{text-align:center;padding:0.2em 1em;padding-top:0.8em}span.o_forum_thread_sticky{font-weight:bold}span.o_forum_status_thread_icon{background-image:url(../openolat/images/forum/forum.png)}span.o_forum_status_sticky_closed_icon{background-image:url(../openolat/images/forum/sticky-note-pin_locked.png)}span.o_forum_status_sticky_icon{background-image:url(../openolat/images/forum/sticky-note-pin.png)}span.o_forum_status_closed_icon{background-image:url(../openolat/images/forum/forum_locked.png)}div.o_forum_peekview{margin:1em 0 1em 0}div.o_forum_peekview h5{font-size:1em;position:relative;left:-20px}div.o_forum_peekview div.o_forum_peekview_message{padding-left:20px;padding-bottom:15px}div.o_forum_peekview div.b_quote_wrapper{display:none}.o_forum_message_icon{background-image:url(../openolat/images/forum/balloon-white-left.png)}div.o_forum_toolbar{float:left;display:inline;width:75%}div#o_forum_fulltextsearch{float:right;display:inline}div#o_forum_fulltextsearch input{width:10em}div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_struct_edit_btn{float:right;display:inline}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:white;padding-right:1em;overflow-x:auto}.b_artefact{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}div.o_ep_toc_editor div.b_subcl{min-height:35em}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:#FFF;padding-right:1em;overflow-x:auto}div.b_struct_edit_btn{float:right;display:inline}div.b_struct_submit_assess_btn{float:right;display:inline}.b_artefact div.b_actions{margin-top:2em}.b_artefact div.b_desc{font-style:italic;margin:1em 0}.b_ep_artAttribLink{background-image:url(../openolat/images/table_gear.png)}div.b_artefact_closed{font-size:25px;float:right;background:url(../openolat/images/locked.png) top right no-repeat}div.b_eportfolio_preview_c100l .b_artefact{margin:3px}div.b_eportfolio_preview_c33l .b_artefact{font-size:85%;margin:3px}.b_ep_nolink{color:#000000}.b_ep_nolink:hover{color:#000000;text-decoration:none}.b_ep_multiartefacts div.b_ep_add_message_with_arrow{position:relative;top:-50px}.b_ep_multiartefacts div.b_artefact_count{margin:1em 0 1em 0}a.b_ep_options{background:url(../openolat/images/gear.png) top left no-repeat;width:16px;height:16px;display:block}.b_ep_liveblog_icon{background-image:url(../openolat/images/portfolio/ep_liveblog_icon.png)}div.b_portfolio_toc ul{margin:0}div.b_portfolio_toc li{list-style-type:none}div.b_portfolio_toc li a{font-size:0.8em;text-decoration:none}div.b_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}div.b_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}div.b_portfolio_toc li.level3{padding-left:40px}div.b_portfolio_toc .link{float:right;margin-right:0px}div.b_portfolio_toc .commentlink{float:right;margin-right:10%}div.b_portfolio_toc .type_artefact{font-style:italic}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.b_portfolio_toc .type_artefact{background-position:center left;background-repeat:no-repeat;padding-left:20px}a.b_eportfolio_add{background:url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;display:block;width:16px;height:16px}td a.b_eportfolio_add{float:right;padding-right:2px}a.b_eportfolio_add_again,span.b_eportfolio_add_again{background:url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;display:block;width:16px;height:16px}.o_efficiencystatement a.b_eportfolio_add_again{float:right}a.b_eportfolio_link{background:url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;display:block;width:16px;height:16px}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}ul.b_eportfolio_maps{margin:0;padding:0}ul.b_eportfolio_maps li{display:block;float:left;position:relative;width:195px;height:320px;padding:60px 60px 40px 65px;margin:0.5em;background:url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-box-shadow:0 1px 3px lightgray;box-shadow:0 1px 3px lightgray}ul.b_eportfolio_maps li .b_map_info{position:absolute;bottom:40px;width:inherit;font-size:0.9em}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}.epmst-green div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}.epmst-red div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}.epmst-blue div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}ul.b_eportfolio_maps li.leather{background:url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.leather a{color:#fad9a4}ul.b_eportfolio_maps li.comic{background:url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.template.default{background-image:url(../openolat/images/portfolio/eportfolio_map_default_template.png)}ul.b_eportfolio_maps li.template.comic{background-image:url(../openolat/images/portfolio/eportfolio_map_comic_template.png)}ul.b_eportfolio_maps li.template.leather{background-image:url(../openolat/images/portfolio/eportfolio_map_leather_template.png)}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}.b_eportfolio_map{background:white;padding:1.5em;min-height:30em}.b_eportfolio_map .b_ep_relative{position:relative}.b_eportfolio_toolbar div{display:inline}.b_eportfolio_toolbar{text-align:right;width:100%;border-bottom:1px solid #acaaaa;padding:1px 2px 4px 2px;margin-bottom:6px}.b_eportfolio_map a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:right;display:inline;background-repeat:no-repeat;margin-left:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_toolbar a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:none;display:inline-block;background-repeat:no-repeat;margin-left:0;margin-right:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_map div.b_eportfolio_add_link{float:left;display:inline;margin-top:2px}.o_ep_toc_editor .b_eportfolio_add_link{float:left}.b_eportfolio_map .b_eportfolio_add_link:hover{text-decoration:none}.b_eportfolio_map .b_eportfolio_comment_link{float:right;display:inline;margin-right:5px}.b_ep_tag_cloud{padding:1em 0 1em 0;border-bottom:1px solid #ccc}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{min-height:40em;background:#f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;padding:1em;-webkit-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-moz-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-o-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2)}.b_eportfolio_page .b_eportfolio_structure > h5{border-bottom:1px solid #ddd;margin-top:1.2em}.b_eportfolio_edit{margin-top:1.5em}.b_eportfolio.b_artefacts hr.b_ep_filter_spacer{height:10px;background:url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;border:none;border-top:1px solid #ccc;margin:2em 0 1em}.b_eportfolio.b_artefacts .b_ep_content{background:white;padding:0 1em 1em 1em;margin-top:1.5em}.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter{padding:0;width:80%}.b_ep_filter{float:left}.b_ep_viewmode{float:right;width:15%}.b_ep_add_artefact{float:right}.b_ep_content div.b_ep_viewmode div.b_form_element_label{width:auto}.b_eportfolio.b_artefacts div.b_segments_container{top:-20px;margin-bottom:-20px}.b_ep_tagbrowser{width:30%;margin-right:0px}.b_ep_tagbrowser_view{width:68%;margin-left:0px}.b_ep_collection_icon{background-image:url(../openolat/images/portfolio/ep_collection.png) !important}.b_ep_map_icon,.b_portfolio_toc .type_map{background-image:url(../openolat/images/portfolio/briefcase.png) !important}.b_ep_page_icon,.b_portfolio_toc .type_page{background-image:url(../openolat/images/portfolio/ep_page.png) !important}.b_ep_page_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_page_add.png) !important}.b_ep_struct_icon,.b_portfolio_toc .type_struct{background-image:url(../openolat/images/portfolio/ep_struct.png) !important}.b_ep_struct_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_struct_add.png) !important}.type_artefact{background-image:url(../openolat/images/le_resources/portfolio.png) !important}div.b_eportfolio_collect_restriction{margin-top:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a{padding-left:0px;text-decoration:none}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover{text-decoration:none}div.b_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper p{padding:0 0 0 15px;margin:0}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content{padding:3px 3px 3px 3px;margin:0;border:1px solid red;background-image:none;background-color:transparent;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #FF9900 !important;background:#fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #F0F0F0 !important;background:#fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide{display:none}.b_eportfolio_deadline_callout{width:300px}.b_ep_multiartefacts .b_c50l{clear:both}.b_eportfolio_fulltextsearch{float:left}.b_eportfolio_share_policy_wrapper{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.b_eportfolio_share_policy_wrapper .b_float_right{text-align:right}.b_eportfolio_share_policy_wrapper a.bit-input{text-decoration:none}.b_eportfolio_share_policy div input,.b_eportfolio_share_policy div span,.b_eportfolio_share_policy div select{float:left;margin-right:5px;padding-right:5px}.b_eportfolio_share_policy div span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}.b_eportfolio_share_policy .b_ep_share_date span{float:left}.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy{padding-left:20px;background:url(../openolat/images/user.png) top left no-repeat}.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy{background-image:url(../openolat/images/share.png)}.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}div.b_ep_inline div input,div.b_ep_inline div span,div.b_ep_inline div select{float:left;margin-right:5px;padding-right:5px}.default div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.default div.b_pagination{float:none;position:static;width:100%}.default div.b_pagination ul{margin:0}.default div.b_pagination li{float:left;display:inline;width:auto;margin:2px 2px 2px 0;padding:0;background:#FAFAFA;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.default div.b_pagination li.b_disabled{padding-bottom:2px;margin-bottom:0;background:#f4f4f4}.default div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.default div.b_pagination li.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.comic div.b_pagination{position:absolute;right:0;width:16%;max-height:100%;overflow-x:hidden;overflow-y:auto;z-index:100}.comic .b_ep_relative > div:last-child{position:relative}.comic div.b_ep_actualpage{width:85%;margin-top:1em}.comic div.b_pagination ul{margin-top:30px;margin-left:0px;z-index:1}.comic div.b_pagination li{width:87%;background:url(../openolat/images/portfolio/postit.png) center right;padding:0;margin-bottom:1em;margin-left:8%;list-style-type:none}.comic div.b_pagination li span.b_disabled,.comic div.b_pagination li a span{display:block;padding:20px 15px 20px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li,.comic div.b_pagination li span,.comic div.b_pagination li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li.b_disabled{z-index:101;margin-left:0;width:100%}.comic div.b_pagination li .b_disabled{color:black;font-weight:bold}.comic div.b_pagination li.b_toc,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.leather div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.leather .b_map_header h4,.leather .b_map_header p,.leather .b_map_header a.b_eportfolio_add_link,.leather .b_map_header a.b_eportfolio_comment_link{color:white}.leather .b_eportfolio_mapowner{color:#fff}.leather div.b_pagination{float:none;position:static;width:100%}.leather div.b_pagination ul{margin:0}.leather div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.leather div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.leather div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.leather div.b_pagination li.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}div.o_module_cp_wrapper a.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}div.o_module_cp_wrapper div#o_local_fulltextsearch{position:absolute;top:0;right:0;z-index:10}div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_module_cp_wrapper div.o_cp_navigation{float:right;display:inline;padding:3px 0 3px 3px;background:#ebebeb;border:1px solid #ddd;white-space:nowrap;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey}div.o_module_cp_wrapper div span a{margin:0 2px}div.o_module_cp_wrapper div span.b_disabled{display:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon{background-image:url("../openolat/images/arrow_left_big.png");text-decoration:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_next_icon{background-image:url("../openolat/images/arrow_right_big.png")}div.o_module_cp_wrapper div span a.o_cp_next_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_print_icon{background-image:url("../openolat/images/printer.png")}div.o_module_cp_wrapper div span a.o_cp_print_icon span{display:none}div.o_module_cp_wrapper div.o_cp_navigation div,div.o_module_cp_wrapper div.o_cp_navigation form{display:inline}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix{display:inline;clear:none}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after{display:inline;height:0;clear:none;visibility:hidden}#o_cpeditor_menu div.o_cpeditor_menu_tree{padding:10px 0 0 0}#b_col1 div.b_menu_toolbar a,#b_col3 div.b_menu_toolbar a{width:16px;height:16px;margin:3px;float:right;display:inline;background-repeat:no-repeat}a.o_cpeditor_import{background-image:url("../openolat/images/docs/document_upload.png")}a.o_cpeditor_new{background-image:url("../openolat/images/docs/document_add.png")}a.o_cpeditor_copy{background-image:url("../openolat/images/docs/document_copy.png")}a.o_cpeditor_delete{background-image:url("../openolat/images/docs/document_remove.png")}a.o_cpeditor_edit{background-image:url(../openolat/images/docs/document_metadata_edit.png)}a.o_cpeditor_preview{background-image:url(../openolat/images/docs/document_preview.png)}#o_cpeditor_content div.o_cpeditor_message{padding:20px}#o_qti_run div.b_button_group{text-align:left}#o_qti_run_title{text-align:right}#o_qti_run_title strong{float:left;display:inline}#o_qti_run.o_qti_survey #o_qti_run_title strong{background:url(../openolat/images/le_resources/survey.png) no-repeat left 50%;padding-left:20px}#o_qti_run.o_qti_test #o_qti_run_title strong{background:url(../openolat/images/le_resources/test.png) no-repeat left 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}#o_qti_scoreinfo{float:left;display:inline;padding:.3em;border:1px solid silver;margin-right:1em}#o_qti_run_score{clear:both;margin:1em 0;padding:0 0 1.5em 0;font-size:90%}#o_qti_run_scoreinfo{float:left;display:inline}#o_qti_run_scoreprogress{float:left;display:inline;margin-left:1em}#o_qti_questioninfo{float:left;display:inline;padding:.3em;border:1px solid silver}#o_qti_run_questioninfo{float:left;display:inline;margin-left:1em}#o_qti_run_questionprogress{float:left;display:inline;margin-left:1em}#o_qti_run_status{clear:both}#o_qti_run_main{clear:both;border-top:1px solid #504D4E;margin:0.5em 0;padding:1em 0}#o_qti_run_menu_inner h4{font-size:100%}#o_qti_run_menu_inner ul{padding:0;margin:0;list-style:none}#o_qti_run_menu_inner li{clear:both;padding:0;margin:0;white-space:normal}#o_qti_run_menu_inner li.o_qti_menu_section{padding:1em 0}#o_qti_run_menu_inner li div.o_qti_menu_item,#o_qti_run_menu li div.o_qti_menu_section{float:left;display:inline;margin-right:10px}#o_qti_results td{padding:0}#b_main.o_editor_qti_correct{background-image:url(../openolat/images/qti/correct_bg.png);background-position:top left}#b_main.o_editor_qti{background-image:url(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.png) no-repeat left 50%;cursor:help;padding-left:20px}#o_qti_solutions a{background:url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;cursor:help;padding-left:20px}.qti_response_level_feedback_label{margin-top:1em;font-style:italic}.qti_edit_layout{position:relative;padding-right:30px;margin-bottom:0.6em}.qti_edit_layout .edit_link{position:absolute;top:10px;right:0px}div.o_qti_item{margin-bottom:2em;margin-top:2em;line-height:2em}div.o_qti_item input.b_radio,div.o_qti_item input.b_checkbox{margin-left:1em}div.o_qti_item textarea{width:99%}img.o_qti_item_matimage{vertical-align:middle}div.o_qti_item_choice{display:table;margin:1em 0}div.o_qti_item_choice_option{display:table;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option_flow{display:table-cell;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option:hover{border:1px solid silver}div.o_qti_item_choice_option_flow:hover{border:1px solid silver}div.o_qti_item_choice_option_input{display:table-cell;vertical-align:middle;padding-right:.5em}div.o_qti_item_choice_option_input input{vertical-align:middle}div.o_qti_item_choice_option_value{display:table-cell}div.o_qti_item_choice_option_autoenum{display:table-cell;line-height:1.5em;width:1em;overflow:hidden;vertical-align:middle;color:silver;border:0;padding:0;margin:0}#o_qti_menu a{text-decoration:none}.o_qti_menu_section{padding:.3em;border-top:1px solid #ff6666}.o_qti_menu_section_clickable{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_section_clickable:hover{padding:.3em;border:1px solid silver;display:inline-block}.o_qti_menu_section_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_item_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item_active:hover{border:1px solid silver}.o_qti_menu_item_inactive{padding:.3em;border:1px solid transparent}.o_qti_menu_item:hover{border:1px solid silver}.o_qti_menu_item_closed{padding:.3em;border:1px solid transparent}.o_qti_menu_item_attempts_marked,.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;color:silver;padding:.2em .4em;border:1px solid transparent;background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{color:silver;border:1px solid silver;cursor:pointer}#o_qti_item_note{padding:0;margin:0;border:0;color:silver;font-family:inherit;font-size:1em;background:inherit;overflow:hidden}.o_qti_item_note_box{border:1px dashed silver;padding:.1em;margin:0;padding-left:.5em}div.o_qti_item_note_box_title{color:silver}div.o_qti_item_itemfeedback,div.o_qti_item_assessfeedback,div.o_qti_item_o_qti_item_sectionfeedback{margin:1em 0;background:url(../openolat/images/lightning.png) no-repeat left 50%;padding-left:20px}div.o_qti_item_objectives{margin:1em 0;background:url(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.o_qti_timelimit_icon{background-image:url(../openolat/images/qti/time.png)}.o_qti_attemptslimit_icon{background-image:url(../openolat/images/qti/tries.png)}.o_qti_closed_icon{background-image:url(../openolat/images/qti/closed.png)}.o_mi_qtialientitem{background-image:url(../openolat/images/docs/document_plain.png)}.o_mi_qtisc{background-image:url(../openolat/images/qti/scItem.png)}.o_mi_qtimc{background-image:url(../openolat/images/qti/mcItem.png)}.o_mi_qtikprim{background-image:url(../openolat/images/qti/kprimItem.png)}.o_mi_qtifib{background-image:url(../openolat/images/qti/fibItem.png)}.o_mi_qtiessay{background-image:url(../openolat/images/qti/essayItem.png)}.o_mi_qtisection{background-image:url(../openolat/images/qti/section.png)}.o_mi_iqtest{background-image:url(../openolat/images/le_resources/test.png)}.o_mi_iqsurv{background-image:url(../openolat/images/le_resources/survey.png)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}div.b_translation_start div.b_translation_start_body,div.b_translation_edit div.b_translation_edit_body{margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package{margin-bottom:0.5em;padding:1em 0 0.5em 0;border-bottom:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package div.b_translation_package_icon{margin-bottom:0.5em;border-bottom:1px solid #ACAAAA}div.b_translation_edit div.b_button_group{text-align:center;margin:1em 0 0 0}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar{float:left;display:inline}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label{float:left;display:inline;padding:0 0 0 1em;font-size:90%;font-style:italic}div.b_translation_edit div.b_translation_edit_body textarea{width:99%}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation{margin-top:1em}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_form_element textarea.b_form_element_disabled{color:#000;background:#EEEEEE;border:1px solid #CDCBCB}div.b_translation_edit div.b_translation_edit_annotation h5{font-weight:normal;font-size:100%;font-style:italic}div.b_translation_edit div.b_translation_edit_annotation textarea{font-style:italic}div.b_translation_edit div.b_translation_refKey{background-image:url(../openolat/images/magnifier-zoom.png);vertical-align:middle;background-color:#eee;border:1px solid #ACAAAA;margin-right:1%}div.b_translation_edit div.b_translation_refKey code{line-height:1em;vertical-align:middle}div.b_translation_edit div.b_translation_refKey span{line-height:1em;font-style:italic}div.b_translation_config span.b_translation_status,ul.b_translation_status span.b_translation_status{position:absolute;right:1em}ul.b_translation_status{column-count:2;-moz-column-count:2;list-style:none}ul.b_translation_status li{position:relative}.b_translation_package_icon{background-image:url(../openolat/images/folder_open.png) !important}.b_translation_item_icon{background-image:url(../openolat/images/docs/document-node.png) !important}.b_translation_search_icon{background-image:url(../openolat/images/magnifier-zoom.png) !important}span.b_translation_i18nitem{position:relative !important}span.b_translation_i18nitem a.b_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:16px !important;height:16px !important;top:0 !important;left:5px !important;background:#eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;border:1px solid #6e6e6e !important;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;padding:0 !important}div.b_selectiontree{font-size:95%}div.b_selectiontree div.b_selectiontree_item{clear:both;position:relative;top:0;left:0;vertical-align:middle;height:16px;width:auto}div.b_selectiontree div.b_selectiontree_item div{width:16px;height:16px;float:left;display:inline;background-repeat:no-repeat}div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content{float:left;display:inline;margin-left:0.5em;width:auto;white-space:nowrap}div.b_selectiontree div.b_selectiontree_content{width:auto}div.b_selectiontree div.b_selectiontree_content div{width:auto}div.b_selectiontree div.b_selectiontree_content input{width:1em;height:1em;padding:0;margin:0 0.5em;vertical-align:middle}div.b_selectiontree div.b_selectiontree_content input.b_radio{margin:0}div.b_selectiontree .b_selectiontree_line{background-image:url(../openolat/images/tree/dots.gif)}div.b_selectiontree .b_selectiontree_space{background-image:url(../openolat/images/tree/dots_spacer.gif)}div.b_selectiontree .b_selectiontree_junction{background-image:url(../openolat/images/tree/dots_nt.gif)}div.b_selectiontree .b_selectiontree_end{background-image:url(../openolat/images/tree/dots_nl.gif)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#o_course_editor_errorbox{font-size:90%;padding:3px 2px 2px 25px;margin:0 0 1em 0}div.o_courseeditor_legend{margin-top:3em}div.o_courseeditor_legend strong{font-weight:bold}div.o_courseeditor_legend div{top:0;left:0;padding-left:12px;background-repeat:no-repeat;background-position:0 50%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #ff6666}#b_main.b_preview{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid red;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.b_tag_list{background:url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important}.b_tag_icon{background-image:url(../openolat/images/tag-label-yellow.png)}div.b_tags{margin:2em 0}div.b_tags div{padding:0.5em 0 0 20px}div.b_tags span.b_tag{font-size:80%;padding:5px 2px 5px 2px;line-height:3em;white-space:nowrap}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}a.bit-box,span.b_tag{-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #CAD8F3;background:#DEE7F8;padding:1px 5px 2px;padding-right:15px;position:relative}div.holder{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}div.holder a{float:left;margin:0 5px 4px 0}div.holder a.bit{text-decoration:none;color:black}div.holder a.bit:active,div.holder a.bit:focus{outline:none}div.holder a.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff}div.holder a.bit-input .maininput{border:1px solid #eeeeee}div.holder a.bit-input input{width:100px;margin:0;border:none;background:white;outline:0;padding:3px 0 2px}div.holder a.bit-input input.smallinput{width:20px}div.holder a.bit-hover{background:#BBCEF1;border:1px solid #6D95E0}div.holder a.bit-box-focus{background:#598BEC;color:#fff}div.holder a.bit-box a.closebutton{position:absolute;right:0;top:5px;display:block;width:7px;height:7px;font-size:1px;background:url("../openolat/images/tag_x.gif")}div.holder a.bit-box a.closebutton:hover{background-position:7px}div.holder a.bit-box a.closebutton:active{outline:none}div.holder a.bit-box-focus a.closebutton,div.holder a.bit-box-focus a.closebutton:hover{background-position:bottom}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.textboxlist-auto .default{padding:5px 7px;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul{display:none;margin:0;padding:0;overflow:auto}.textboxlist-auto ul li{padding:5px 12px;z-index:1000;cursor:pointer;margin:0;list-style-type:none;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul li.loading-indicator{padding-left:30px;background-position:5px center;cursor:defat;font-size:100.01% !important;line-height:1.5em}.textboxlist-auto ul li.more-indicator{cursor:defat;font-style:italic}.textboxlist-auto ul li em{font-weight:bold;font-style:normal;background:#ccc}.textboxlist-auto ul li.auto-focus{background:#4173CC;color:#fff}.textboxlist-auto ul li.auto-focus em{background:none}input.inputMessage{color:#AAA;font-size:11px}.b_wizard .textbox-outer{background:url(../openolat/images/tag-label-yellow.png) top left no-repeat}.b_wizard .textbox-outer li{margin-left:18px}.b_wizard .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:disc;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_chat_icon{background-image:url(../openolat/images/im/gstar_chat.png)}.o_instantmessaging_away_icon{background-image:url(../openolat/images/im/gstar_clock.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_xa_icon{background-image:url(../openolat/images/im/grstar_clock.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;margin:10px;min-height:13em}.b_portlet .b_portlet_showall{font-size:95%;position:absolute;right:0;top:0}.b_portlet .b_portlet_header{border-bottom:1px solid #ff6666;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet.b_portlet_edit{background:#FFE793;border:1px solid #FF9E3E;padding:2px}div.b_portlet.b_portlet_edit .b_portlet_header{height:23px}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}div.b_portlet_toolbox a,div.b_portlet_toolbox span.b_disabled{background-repeat:no-repeat;background-position:1px 1px;float:right;width:18px;height:18px;overflow:hidden}div.b_portlet_toolbox div{display:inline}div.b_portlet_toolbox > a,div.b_portlet_toolbox > span{border:1px solid #888;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;background:#eee;background-repeat:no-repeat;background-position:center}div.b_portlet_toolbox a.b_portlet_edit_left{background-image:url(../openolat/images/arrow_left_big.png)}div.b_portlet_toolbox a.b_portlet_edit_right{background-image:url(../openolat/images/arrow_right_big.png)}div.b_portlet_toolbox a.b_portlet_edit_down{background-image:url(../openolat/images/arrow_down_big.png)}div.b_portlet_toolbox a.b_portlet_edit_up{background-image:url(../openolat/images/arrow_up_big.png)}div.b_portlet_toolbox a.b_portlet_edit_delete{background-image:url(../openolat/images/bin-metal-full.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_auto{background-image:url(../openolat/images/table_sort.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_manual{background-image:url(../openolat/images/table_gear.png)}div.b_portlet_toolbox span.b_portlet_edit_left_disabled{background-image:url(../openolat/images/arrow_left_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #ff6666;background:inherit}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head{vertical-align:top}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong{font-weight:bold}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon{background:transparent no-repeat 3px 50%;padding-left:19px;line-height:1.2em;color:black}.b_toolboxes .b_toolbox .b_toolbox_content ul{padding:0 0 0 6px;margin:0;list-style:none}.b_toolboxes .b_toolbox .b_toolbox_content li{padding:0;margin:0;line-height:1.7em;white-space:nowrap}.b_toolboxes .b_toolbox .b_toolbox_content li a{color:#667;background-repeat:no-repeat;background-position:0 50%;padding-left:20px;display:block}.b_toolboxes .b_toolbox .b_toolbox_content li a:focus,.b_toolboxes .b_toolbox .b_toolbox_content li a:hover,.b_toolboxes .b_toolbox .b_toolbox_content li a:active{color:#504D4E;text-decoration:underline}.b_toolboxes .b_toolbox .b_toolbox_content li div.b_note,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_important,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning{padding:0 0 0 20px;margin:0;border-bottom:0}.b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle{padding-left:0;display:inline}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper{float:right;font-size:90%}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled,.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled{color:#999;background:no-repeat 0 50% url(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}
+**/@import url(../../yaml/core/slim_base.css);@import url(all/content.css);.b_with_small_icon_left,div.b_table_wrapper div.b_table_empty{padding:2px 0 2px 20px;min-height:16px;background-position:0 50%;background-repeat:no-repeat}option.b_with_small_icon_left{padding:0 0 0 20px;vertical-align:middle;min-height:11px;background-position:0 50%;background-repeat:no-repeat}.b_with_small_icon_right{padding:1px 20px 1px 0px;min-height:16px;background-position:100% 50%;background-repeat:no-repeat}.b_with_small_icon_only span{display:none}.b_small_icon{float:left;display:inline;width:16px;height:16px;background-position:0 50%;background-repeat:no-repeat}td a span.b_small_table_icon,td a.b_small_table_icon{padding-left:20px;width:16px;height:16px;background-position:2px 50%;background-repeat:no-repeat}a.b_small_icon:hover{text-decoration:none}.b_info_icon{background-image:url("../openolat/images/comment.png")}.b_warn_icon,div.b_table_wrapper div.b_table_empty{background-image:url("../openolat/images/exclamation.png")}.b_error_icon{background-image:url("../openolat/images/cross-circle.png")}.b_new_icon{background-image:url("../openolat/images/new-text.png")}.b_institution_icon{background-image:url("../openolat/images/home.png")}.b_group_icon{background-image:url("../openolat/images/users.png")}.b_user_icon{background-image:url("../openolat/images/user.png")}.b_move_left_icon{background-image:url("../openolat/images/arrow_left_big.png")}.b_move_right_icon{background-image:url("../openolat/images/arrow_right_big.png")}.b_move_down_icon{background-image:url("../openolat/images/arrow_down_big.png")}.b_move_up_icon{background-image:url("../openolat/images/arrow_up_big.png")}.b_delete_icon{background-image:url("../openolat/images/bin-metal-full.png")}.b_share_icon{background-image:url("../openolat/images/share.png")}.b_status_enabled_icon{background-image:url("../openolat/images/tick.png")}.b_status_disabled_icon{background-image:url("../openolat/images/cross.png")}.b_edit_icon{background-image:url("../openolat/images/docs/document--pencil.png")}.b_add_icon{background-image:url("../openolat/images/plus-circle.png")}.b_open_icon{background-image:url("../openolat/images/control/control.png")}.b_star_icon{background-image:url(../openolat/images/star.png)}.b_star_small_icon{background-image:url(../openolat/images/star-small.png)}.o_fulltext_search_button{background-image:url("../openolat/images/magnifier-zoom.png")}.o_help_icon{background-image:url("../openolat/images/help.png")}.o_rss_icon{background-image:url("../openolat/images/feed.png")}.o_login_guests{background-image:url("../openolat/images/user_silhouette.png")}.o_login_pwd{background-image:url("../openolat/images/user_excl.png")}.o_login_register{background-image:url("../openolat/images/user_register.png")}.o_news_icon{background-image:url("../openolat/images/information-white.png")}.o_course_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}.o_chat_icon{background-image:url("../openolat/images/balloons-box.png")}.o_admin_icon{background-image:url("../openolat/images/wrench-screwdriver.png")}.o_calendar_icon{background-image:url("../openolat/images/calendar.png")}.o_locked_icon{background-image:url("../openolat/images/locked.png")}.b_backward_icon{background-image:url("../openolat/images/arrow_left.png")}.b_forward_icon{background-image:url("../openolat/images/arrow_right.png")}.b_flag_en{background-image:url("../openolat/images/flags/gb.png")}.b_flag_de{background-image:url("../openolat/images/flags/de.png")}.b_flag_fr{background-image:url("../openolat/images/flags/fr.png")}.b_flag_it{background-image:url("../openolat/images/flags/it.png")}.b_flag_es{background-image:url("../openolat/images/flags/es.png")}.b_flag_da{background-image:url("../openolat/images/flags/dk.png")}.b_flag_cs{background-image:url("../openolat/images/flags/cz.png")}.b_flag_el{background-image:url("../openolat/images/flags/gr.png")}.b_flag_ee{background-image:url("../openolat/images/flags/ee.png")}.b_flag_ru{background-image:url("../openolat/images/flags/ru.png")}.b_flag_pl{background-image:url("../openolat/images/flags/pl.png")}.b_flag_zh_CN{background-image:url("../openolat/images/flags/cn.png")}.b_flag_zh_TW{background-image:url("../openolat/images/flags/tw.png")}.b_flag_lt{background-image:url("../openolat/images/flags/lt.png")}.b_flag_fa{background-image:url("../openolat/images/flags/ir.png")}.b_flag_pt_PT{background-image:url("../openolat/images/flags/pt.png")}.b_flag_pt_BR{background-image:url("../openolat/images/flags/br.png")}.b_flag_tr{background-image:url("../openolat/images/flags/tr.png")}.b_flag_hu{background-image:url("../openolat/images/flags/hu.png")}.b_flag_sq{background-image:url("../openolat/images/flags/al.png")}.b_flag_in{background-image:url("../openolat/images/flags/id.png")}.b_flag_ar{background-image:url("../openolat/images/flags/eg.png")}.b_flag_rm{background-image:url("../openolat/images/flags/rm.png")}.b_flag_af{background-image:url("../openolat/images/flags/za.png")}.b_flag_vi{background-image:url("../openolat/images/flags/vn.png")}.b_flag_mn{background-image:url("../openolat/images/flags/mn.png")}.b_flag_iw{background-image:url("../openolat/images/flags/il.png")}.b_flag_ko{background-image:url("../openolat/images/flags/kr.png")}.b_flag_nl_NL{background-image:url("../openolat/images/flags/nl.png")}.b_flag_jp{background-image:url("../openolat/images/flags/jp.png")}.b_flag_nb_NO{background-image:url("../openolat/images/flags/no.png")}.b_flag_et_EE{background-image:url("../openolat/images/flags/ee.png")}.b_flag_bg{background-image:url("../openolat/images/flags/bg.png")}.b_flag_hi_IN_ASIA{background-image:url("../openolat/images/flags/in.png")}.b_flag_ar_LB{background-image:url("../openolat/images/flags/lb.png")}.b_flag_de_FX_business{background-image:url("../openolat/images/flags/de.png")}.b_flag_de_FX_school{background-image:url("../openolat/images/flags/de.png")}.b_flag_en_FX_business{background-image:url("../openolat/images/flags/gb.png")}.b_flag_en_FX_school{background-image:url("../openolat/images/flags/gb.png")}.b_filetype_file,.b_filetype_ico{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_avi_icon{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_bat_icon{background-image:url("../openolat/images/docs/document-binary.png") !important}.b_filetype_bmp{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_css{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_doc,.b_filetype_docx{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_dvi{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_exe{background-image:url("../openolat/images/docs/document-binary.png") !important}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.b_filetype_folder,.b_filetype_folder_open{background-image:url("../openolat/images/folder_open.png") !important}.b_filetype_folder{background-image:url("../openolat/images/folder.png") !important}.b_filetype_gif{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_gz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_htm,.b_filetype_html{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_jpeg,.b_filetype_jpg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_js{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_log{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_midi{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_video,.b_filetype_mov{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_audio,.b_filetype_mp3,.b_filetype_m3u{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_mpeg,.b_filetype_mpg{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_odp{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ods{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_odt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_odg{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_odf{background-image:url("../openolat/images/docs/document_plain.png") !important}.b_filetype_pdf{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_png{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_ppt{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_pptx{background-image:url("../openolat/images/docs/document-powerpoint.png") !important}.b_filetype_ps{background-image:url("../openolat/images/docs/document-pdf.png") !important}.b_filetype_qt,.b_filetype_ra,.b_filetype_ram{background-image:url("../openolat/images/docs/document-film.png") !important}.b_filetype_readme,.b_filetype_README{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_rtf{background-image:url("../openolat/images/docs/document-word.png") !important}.b_filetype_tar,.b_filetype_tgz{background-image:url("../openolat/images/docs/document-zipper.png") !important}.b_filetype_tiff{background-image:url("../openolat/images/docs/document-image.png") !important}.b_filetype_txt{background-image:url("../openolat/images/docs/document-text.png") !important}.b_filetype_wav{background-image:url("../openolat/images/docs/document-music.png") !important}.b_filetype_xls,.b_filetype_xlsx{background-image:url("../openolat/images/docs/document-excel.png") !important}.b_filetype_xml{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_xsl{background-image:url("../openolat/images/docs/document_tags.png") !important}.b_filetype_zip{background-image:url("../openolat/images/docs/document-zipper.png") !important}li.b_nav_site div,li.b_nav_tab div{background:url("../openolat/images/application.png") no-repeat left 50%;padding-left:18px}li.b_resource_BusinessGroup div,.o_BusinessGroup_icon{background-image:url("../openolat/images/users.png")}li.b_resource_GroupCard div,.o_GroupCard_icon{background-image:url("../openolat/images/users.png")}li.b_resource_CourseModule div,.o_CourseModule_icon{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li.b_resource_HOMEPAGECONFIG div,.o_HOMEPAGECONFIG_icon,li.b_resource_Identity div{background-image:url("../openolat/images/card-address.png")}li.b_resource_FileResource-SHAREDFOLDER div,.o_FileResource-SHAREDFOLDER_icon{background-image:url("../openolat/images/folder_shared.png")}li.b_resource_FileResource-WIKI div,.o_FileResource-WIKI_icon{background-image:url("../openolat/images/le_resources/wiki.png")}li.b_resource_FileResource-PODCAST div,.o_FileResource-PODCAST_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li.b_resource_FileResource-BLOG div,.o_FileResource-BLOG_icon{background-image:url("../openolat/images/le_resources/blog.png")}li.b_resource_FileResource-MOVIE div,.o_FileResource-MOVIE_icon{background-image:url("../openolat/images/docs/document-film.png")}li.b_resource_FileResource-PDF div,.o_FileResource-PDF_icon{background-image:url("../openolat/images/docs/document-pdf.png")}li.b_resource_FileResource-PPT div,.o_FileResource-PPT_icon{background-image:url("../openolat/images/docs/document-powerpoint.png")}li.b_resource_FileResource-DOC div,.o_FileResource-DOC_icon{background-image:url("../openolat/images/docs/document-word.png")}li.b_resource_FileResource-IMSCP div,.o_FileResource-IMSCP_icon{background-image:url("../openolat/images/le_resources/box.png")}li.b_resource_FileResource-SCORMCP div,.o_FileResource-SCORMCP_icon{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li.b_resource_FileResource-FILE div,.o_FileResource-FILE_icon{background-image:url("../openolat/images/docs/document_plain.png")}li.b_resource_FileResource-IMAGE div,.o_FileResource-IMAGE_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SOUND div,.o_FileResource-SOUND_icon{background-image:url("../openolat/images/docs/document-music.png")}li.b_resource_FileResource-XLS div,.o_FileResource-XLS_icon{background-image:url("../openolat/images/docs/document-excel.png")}li.b_resource_FileResource-ANIM div,.o_FileResource-ANIM_icon{background-image:url("../openolat/images/docs/document-image.png")}li.b_resource_FileResource-SURVEY div,.o_FileResource-SURVEY_icon{background-image:url("../openolat/images/le_resources/survey.png")}li.b_resource_FileResource-TEST div,.o_FileResource-TEST_icon{background-image:url("../openolat/images/le_resources/test.png")}li.b_resource_FileResource-GLOSSARY div,.o_FileResource-GLOSSARY_icon{background-image:url("../openolat/images/le_resources/glossary.png")}li.b_resource_org-olat-search-ui-SearchController div,.o_org-olat-search-ui-SearchController_icon{background-image:url("../openolat/images/magnifier-zoom.png")}li.b_resource_EPStructuredMapTemplate div{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.o_toolbox_course{background-image:url("../openolat/images/le_resources/book-open-text-image.png")}li a.o_toolbox_content{background-image:url("../openolat/images/le_resources/box.png")}li a.o_toolbox_scorm{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png")}li a.o_toolbox_test{background-image:url("../openolat/images/le_resources/test.png")}li a.o_toolbox_questionnaire{background-image:url("../openolat/images/le_resources/survey.png")}li a.o_toolbox_wiki{background-image:url("../openolat/images/le_resources/wiki.png")}li a.o_toolbox_podcast{background-image:url("../openolat/images/le_resources/media-player-cast.png")}li a.o_toolbox_blog{background-image:url("../openolat/images/le_resources/blog.png")}li a.o_toolbox_glossary{background-image:url("../openolat/images/le_resources/glossary.png")}li a.o_toolbox_sharedfolder{background-image:url("../openolat/images/folder_shared.png")}li a.o_toolbox_coursefolder{background-image:url("../openolat/images/le_resources/blue-folder.png")}li a.o_toolbox_courseareas{background-image:url("../openolat/images/users.png")}li a.o_toolbox_portfolio{background-image:url("../openolat/images/le_resources/portfolio.png")}li a.b_toolbox_link{background-image:url("../openolat/images/bullet_black.png")}li a.b_toolbox_doc{background-image:url("../openolat/images/docs/document_plain.png")}li a.b_toolbox_preview{background-image:url("../openolat/images/docs/document_preview.png")}li a.b_toolbox_publish{background-image:url("../openolat/images/docs/document_share.png")}li a.b_toolbox_move{background-image:url("../openolat/images/docs/document_move.png")}li a.b_toolbox_close{background-image:url("../openolat/images/close.png")}li a.b_toolbox_delete{background-image:url("../openolat/images/bin-metal-full.png")}li a.b_toolbox_copy,.b_copy_icon{background-image:url("../openolat/images/docs/document-copy.png")}.o_midlock{top:9px;left:9px;background-image:url("../openolat/images/decorator/deco_condition.png")}.o_miderr{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_error.png")}.o_midwarn{top:8px;left:-2px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_midpub{top:-2px;left:9px;background-image:url("../openolat/images/decorator/deco_ok.png")}span.o_passed{background:url(../openolat/images/tick.png) no-repeat right 50%;padding:0 25px 0 0;color:#009900}span.o_notpassed{background:url(../openolat/images/cross.png) no-repeat right 50%;padding:0 25px 0 0;color:#990000}.o_efficiencystatement_icon{background-image:url(../openolat/images/seal.png)}span.o_green_led{background:url(../openolat/images/green_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_yellow_led{background:url(../openolat/images/yellow_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_red_led{background:url(../openolat/images/red_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_black_led{background:url(../openolat/images/black_led.png) no-repeat left 50%;padding:0 0 0 25px}span.o_grey_led{background:url(../openolat/images/grey_led.png) no-repeat left 50%;padding:0 0 0 25px}.o_bc_icon{background-image:url("../openolat/images/folder.png") !important}.o_co_icon{background-image:url("../openolat/images/mail.png") !important}.o_cp_icon{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_org{background-image:url("../openolat/images/le_resources/box.png") !important}.o_cp_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_dialog_icon{background-image:url("../openolat/images/docs/document_discuss.png") !important}.o_en_icon{background-image:url("../openolat/images/enrol.png") !important}.o_fo_icon{background-image:url("../openolat/images/forum/forum.png") !important}.o_iqself_icon{background-image:url("../openolat/images/le_resources/selftest.png") !important}.o_iqsurv_icon{background-image:url("../openolat/images/le_resources/survey.png") !important}.o_iqtest_icon{background-image:url("../openolat/images/le_resources/test.png") !important}.o_ms_icon{background-image:url("../openolat/images/le_resources/thumb-up.png") !important}.o_scorm_icon,.o_scorm_org{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_scorm_item{background-image:url("../openolat/images/docs/document-text.png") !important}.o_scorm_asset{background-image:url("../openolat/images/le_resources/book-open-text-image-s.png") !important}.o_sp_icon{background-image:url("../openolat/images/docs/document-text.png") !important}.o_st_icon{background-image:url("../openolat/images/node-select-all.png") !important}.o_ta_icon{background-image:url("../openolat/images/docs/document-task.png") !important}.o_tu_icon{background-image:url("../openolat/images/docs/document-import.png") !important}.o_wiki_icon{background-image:url("../openolat/images/le_resources/wiki.png") !important}.o_ll_icon{background-image:url("../openolat/images/docs/document_linklist.png") !important}.o_cl_icon{background-image:url("../openolat/images/clipboard-task.png") !important}.o_den_icon{background-image:url("../openolat/images/clock.png") !important}.o_projectbroker_icon{background-image:url("../openolat/images/projectbroker.png") !important}.o_podcast_icon{background-image:url("../openolat/images/le_resources/media-player-cast.png") !important}.o_blog_icon{background-image:url("../openolat/images/le_resources/blog.png") !important}.o_cal_icon{background-image:url("../openolat/images/calendar.png") !important}.o_lti_icon{background-image:url("../openolat/images/docs/document-node.png") !important}.o_vc_icon{background-image:url("../openolat/images/projection-screen.png") !important}.o_vitero_icon{background-image:url("../openolat/images/vitero.png") !important}.o_openmeetings_icon{background-image:url("../openolat/images/apache.png") !important}.o_ep_icon{background-image:url("../openolat/images/le_resources/portfolio.png") !important}.o_EPStructuredMapTemplate_icon{background-image:url("../openolat/images/portfolio/briefcase.png") !important}.o_infomsg_icon{background-image:url("../openolat/images/information-button.png") !important}.o_cmembers_icon{background-image:url("../openolat/images/users.png") !important}.fx_members_icon{background-image:url("../openolat/images/users_members.png") !important}body#b_body .o_CourseModule_icon_closed{background-image:url("../openolat/images/le_resources/book-open-text-image_locked.png")}@media all{html{min-height:100%}body{min-height:100%;overflow-y:scroll;background:yellow;background:-moz-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, yellow), color-stop(33%, red), color-stop(66%, blue), color-stop(100%, green));background:-webkit-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-o-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:-ms-linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%);background:linear-gradient(top, yellow 0%, red 33%, blue 66%, green 100%)}#b_page_margins{min-width:740px;max-width:1324px;margin:0 auto;width:100%;height:100%}#b_main_toolbar{clear:both;height:24px;line-height:24px;vertical-align:middle;margin:0;padding:1px 0 0 0;border-bottom:1px solid #dadada;background-color:white;moz-box-shadow:0 0 14px #d3d3d3;-ms-box-shadow:0 0 14px #d3d3d3;-o-box-shadow:0 0 14px #d3d3d3;-webkit-box-shadow:0 0 14px #d3d3d3;box-shadow:0 0 14px #d3d3d3}#b_main_toolbar ul li a span{line-height:24px}#b_main{background:#fff;min-height:550px;clear:both;moz-box-shadow:0 2px 14px #d3d3d3;-ms-box-shadow:0 2px 14px #d3d3d3;-o-box-shadow:0 2px 14px #d3d3d3;-webkit-box-shadow:0 2px 14px #d3d3d3;box-shadow:0 2px 14px #d3d3d3}#b_page a#b_toplink{position:absolute;bottom:1em;right:1em;background:transparent url(../openolat/images/arrow_up.png) 0 50% no-repeat;padding-left:14px;z-index:5}#b_header,#b_page,#b_col1_content,#b_col2_content,#b_col3_content,#b_col3_content_inner{position:relative}#b_col1{overflow:hidden}#b_col1_content{padding:1em 10px 1em 0px}#b_col3{border-left:1px #DDD dotted;border-right:1px #DDD dotted}#b_col3_content{min-height:550px;padding:20px 20px 30px 20px}#b_col2_content{overflow:hidden;padding:1em 0}.b_hidecol2 #b_col3{margin-right:0 !important;border-right:none}.b_hidecol1 #b_col3{margin-left:0 !important;border-left:none}.b_hideboth #b_col3{margin-left:0 !important;margin-right:0 !important;border-left:none;border-right:none}.b_hideboth #b_col1,.b_hideboth #b_col2,.b_hidecol1 #b_col1,.b_hidecol2 #b_col2,#b_ie_clearing{display:none}.b_c15r,.b_c20r,.b_c80r,.b_c85r{float:right;margin-left:-5px}.b_c15l,.b_c15r{width:15%}.b_c20l,.b_c20r{width:20%}.b_c80l,.b_c80r{width:80%}.b_c85l,.b_c85r{width:85%}.b_subcolumns_oldgecko,.b_c20l,.b_c15l,.b_c80l,.b_c85l{float:left}div.b_iframe_wrapper iframe{width:100%;position:relative;top:0;left:0;border:none;margin:0;padding:0;background:transparent}#b_main.b_exception{padding-left:165px;padding-right:165px}#b_header{height:auto;min-height:30px;overflow:hidden;position:relative}#b_header #b_topnav{position:absolute;right:0px;top:0px;padding:4px 15px 0px 0px;line-height:1.5em;min-height:1.5em}#b_header #b_topnav ul{margin:0}#b_header #b_topnav li,#b_header #b_topnav div,#b_header #b_topnav span{line-height:1.5em}#b_header #b_topnav .b_with_small_icon_right{padding:0 20px 0 0}#b_header #b_topnav .b_with_small_icon_left,#b_header #b_topnav div.b_table_wrapper div.b_table_empty,div.b_table_wrapper #b_header #b_topnav div.b_table_empty{padding:0 0 0 20px}#b_header #b_topnav .b_small_icon{height:1.5em}#b_header #b_topnav #o_topnav_langchooser select{font-size:90%}#b_header #b_topnav #o_topnav_search input{font-size:90%;margin:0;width:10em}#b_header #b_topnav #o_topnav_search a.o_fulltext_search_button{height:1.5em;background-position:50% 50%}#b_header #b_topnav #o_topnav_printview a{background:url(../openolat/images/printer.png) no-repeat right 50%;padding:0 20px 0 0;margin:0}#b_header #b_topnav #o_topnav_logout a{background:url("../openolat/images/control/control-power.png") no-repeat right 50%;padding:0 20px 0  0;margin:0;font-weight:bold}#b_header #b_topnav li{float:left;list-style:none;margin-left:1.7em}#b_header #b_topnav li div.b_form_element_wrapper.b_form_horizontal{margin:0}#b_header #b_topnav li#o_topnav_imclient li{margin-left:0.5em}#b_nav_main{float:left}#b_nav_main ul{padding-left:40px;margin:0}#b_nav_main ul li{float:left;position:relative;list-style:none;margin:0px;padding:4px 3px 4px 12px;margin-right:2px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#f5f5f5;background:rgba(255, 255, 255, 0.5)}#b_nav_main ul li a{padding:4px 12px 4px 3px}#b_nav_main ul li a:hover{text-decoration:none}#b_nav_main ul li.b_nav_site.b_nav_active,#b_nav_main ul li.b_nav_site:hover,#b_nav_main ul li.b_nav_site.b_exception{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_site.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_site:hover a.b_nav_tab_close,#b_nav_main ul li.b_nav_site.b_exception a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li.b_nav_site > div{padding-left:16px;background-repeat:no-repeat;background-position:0% 50%;background-image:url("../openolat/images/application.png")}#b_nav_main ul li.b_nav_site.o_site_home > div{background-image:url("../openolat/images/home.png")}#b_nav_main ul li.b_nav_site.o_site_admin > div{background-image:url("../openolat/images/wrench-screwdriver.png")}#b_nav_main ul li.b_nav_site.o_site_useradmin > div{background-image:url("../openolat/images/user_conf.png")}#b_nav_main ul li.b_nav_site.o_site_groupsmanagement > div{background-image:url("../openolat/images/users_conf.png")}#b_nav_main ul li.b_nav_site.o_site_repository > div{background-image:url("../openolat/images/books-stack.png")}#b_nav_main ul li.b_nav_site.o_site_groups > div{background-image:url("../openolat/images/users.png")}#b_nav_main ul li.b_nav_site.o_site_coaching > div{background-image:url("../openolat/images/eye.png")}#b_nav_main ul li.b_nav_site.site_demo_icon > div{background-image:url("../openolat/images/information-white.png")}#b_nav_main ul li.b_nav_site.f_site_library > div{background-image:url("../openolat/images/library.png")}#b_nav_main ul li.b_nav_site.fx_members > div{background-image:url("../openolat/images/users_members.png")}#b_nav_main ul li.b_nav_site.o_site_guidemo div{background-image:url("../openolat/images/light-bulb.png")}#b_nav_main ul li.b_nav_site.b_resource_GroupInfoMainController div{background-image:url(../openolat/images/users.png)}#b_nav_main ul li.b_nav_tab{margin-right:4px}#b_nav_main ul li.b_nav_tab a.b_nav_tab_close{position:absolute;top:3px;right:4px;width:13px;height:13px;line-height:0;padding:0;margin:0;background:transparent url(../openolat/images/cross_small_trimmed_grey.png) no-repeat right top}#b_nav_main ul li.b_nav_tab.b_nav_active,#b_nav_main ul li.b_nav_tab:hover{moz-box-shadow:0 -4px 8px -1px #d3d3d3;-ms-box-shadow:0 -4px 8px -1px #d3d3d3;-o-box-shadow:0 -4px 8px -1px #d3d3d3;-webkit-box-shadow:0 -4px 8px -1px #d3d3d3;box-shadow:0 -4px 8px -1px #d3d3d3;background:white}#b_nav_main ul li.b_nav_tab.b_nav_active a.b_nav_tab_close,#b_nav_main ul li.b_nav_tab:hover a.b_nav_tab_close{background-image:url(../openolat/images/cross_small_trimmed_blue.png)}#b_nav_main ul li#b_nav_spacer{background:none;border:none;width:20px;height:1px;padding:0}div.b_tree{font-size:100%;padding:0}div.b_tree ul{position:relative;padding:0;margin:0 0 0 1em;list-style:none;white-space:nowrap}div.b_tree ul li{position:relative;background:transparent;margin-left:0;padding-left:0;line-height:1.7em}div.b_tree ul li a.b_tree_icon{padding-left:20px;padding-top:2px;position:relative;background-position:0 50%;background-repeat:no-repeat}div.b_tree ul li a{color:#555555}div.b_tree ul li a.b_tree_l1{padding-left:16px}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:0px;z-index:9}div.b_tree ul li a:focus,div.b_tree ul li a:hover{color:red;background-color:transparent;text-decoration:underline}div.b_tree ul li a.b_tree_selected,div.b_tree ul li a:active{color:red;background-color:transparent;text-decoration:none}div.b_tree ul li a.b_tree_selected_parents,div.b_tree ul li strong{color:red;font-weight:bold}div.b_tree ul li .b_tree_oc_l1{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l2{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l3{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l4{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l5{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l6{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l7{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l8{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l9{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l10{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li .b_tree_oc_l11{position:absolute;top:0px;left:1px;z-index:9}div.b_tree ul li a.b_tree_l0{padding-left:13px}div.b_tree ul li a.b_tree_l1{padding-left:13px}div.b_tree ul li a.b_tree_l2{padding-left:13px}div.b_tree ul li a.b_tree_l3{padding-left:13px}div.b_tree ul li a.b_tree_l4{padding-left:13px}div.b_tree ul li a.b_tree_l5{padding-left:13px}div.b_tree ul li a.b_tree_l6{padding-left:13px}div.b_tree ul li a.b_tree_l7{padding-left:13px}div.b_tree ul li a.b_tree_l8{padding-left:13px}div.b_tree ul li a.b_tree_l9{padding-left:13px}div.b_tree ul li a.b_tree_l10{padding-left:13px}div.b_tree ul li a.b_tree_l11{padding-left:13px}div.b_tree ul li span.b_tree_icon_decorator{width:12px;height:12px;float:right;display:inline;position:static;background-repeat:no-repeat}div.b_tree ul li.b_deleted{text-decoration:none}div.b_tree ul li.b_deleted a{text-decoration:line-through}div.b_tree ul.b_tree_l0 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l1 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l2 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l3 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l4 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l5 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l6 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l7 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l8 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l9 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l10 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree ul.b_tree_l11 a.b_tree_icon{padding-left:33px;background-position:15px 50%}div.b_tree a.b_tree_level_close{background:transparent !important}div.b_tree a.b_tree_level_open{background:transparent !important}div.b_tree a.b_tree_level_close span{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_open span{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding-right:13px}div.b_tree a.b_tree_level_close:hover,div.b_tree a.b_tree_level_open:hover{text-decoration:none}#b_footer{color:#9D9D9D;padding:0;margin:0;position:relative;min-height:60px}#b_footer a{color:#777777}#b_footer #b_footer_user{position:absolute;top:1em;left:1em;line-height:16px}#b_footer #b_footer_user #b_username{margin-right:1.5em}#b_footer #b_footer_version{position:absolute;top:1em;right:1em}#b_footer #b_footer_powered{padding-top:1em;text-align:center;width:auto;background:none}#b_footer #b_footer_powered a{display:inline}#b_footer #b_footer_powered img{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_footer_powered img:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share{position:absolute;top:2.5em;left:1em;width:250px}#b_footer #b_share a,#b_footer #b_share span{margin:0 3px 0 0;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}#b_footer #b_share a:hover{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1}#b_footer #b_share #b_facebook{background-image:url(../openolat/images/social/facebook_16.png)}#b_footer #b_share #b_twitter{background-image:url(../openolat/images/social/twitter_16.png)}#b_footer #b_share #b_google{background-image:url(../openolat/images/social/google_16.png)}#b_footer #b_share #b_delicious{background-image:url(../openolat/images/social/delicious_16.png)}#b_footer #b_share #b_digg{background-image:url(../openolat/images/social/digg_16.png)}#b_footer #b_share #b_mail{background-image:url(../openolat/images/social/email_16.png)}#b_footer #b_share #b_link{background-image:url(../openolat/images/social/link_16.png)}#b_footer .fx_footer #b_footer_version > a{display:block;min-height:45px;background:transparent url("../../images/frentix/frentix_logo_grey.png") no-repeat left bottom}#b_footer .fx_footer #b_footer_version > a:hover{background-image:url("../../images/frentix/frentix_logo.png")}#callout_share_link input{width:480px}#b_main.b_menu_toolbar #b_col1_content{padding-top:0;padding-right:0}#b_main.b_menu_toolbar #b_col3_content{padding:0}div.b_menu_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);border-bottom:1px solid #7D7D7D;padding:5px 5px 2px 0}div.b_breadcumb_path{padding:0;margin:0;float:left;display:inline}div.b_breadcumb_path ul{padding:0;margin:0;list-style:none;float:left;display:inline}div.b_breadcumb_path ul li{padding:0 7px 0 14px;margin:0;list-style:none;float:left;display:inline;background:url(../openolat/images/breadcrumb-separator.png) no-repeat left 50%}div.b_breadcumb_path ul li.b_first{background:url(../openolat/images/home.png) no-repeat 5px 50%;padding-left:25px}div.b_breadcumb_path ul li a{color:#464444}div.b_breadcumb_path ul li span.b_disabled{color:#000;padding:0 10px 0 0;margin:0}#b_main_toolbar div.b_breadcumb_path ul a{color:#2d2e2d;font-weight:bold}#b_main_toolbar div.b_breadcumb_path ul a:hover{color:#585a58;text-decoration:none}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back{background:transparent;padding:0 7px 0 7px;margin:0 2px 0 0;border-right:1px solid #dadada}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a{font-type:Arial;color:#2d2e2d;font-weight:normal}#b_main_toolbar div.b_breadcumb_path ul li.b_breadcumb_back a:hover{color:#585a58}div.b_breadcumb_content{clear:both;margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_toolbar{background:#f9f9f9;background:-moz-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9), color-stop(100%, #d0d0d0));background:-webkit-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-o-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:-ms-linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);background:linear-gradient(top, #f9f9f9 0%, #d0d0d0 100%);position:relative;padding:10px;height:19px;min-height:19px;border-bottom:1px solid #7D7D7D}div.b_toolbar ul{margin:0;list-style-image:none;list-style-type:none}div.b_toolbar ul li{margin:0px 16px 0px 0px;list-style-image:none;list-style-type:none}div.b_toolbar div.b_toolbar_left{position:absolute;top:7px;left:7px}div.b_toolbar ul.b_toolbar_left li{float:left}div.b_toolbar div.b_toolbar_right{position:absolute;top:7px;right:7px}div.b_toolbar ul.b_toolbar_right li{float:right;margin:0px 2px 0px 2px}div.b_toolbar div.b_toolbar_center{text-align:center}div.b_noti{border:1px solid #E9EAEF;padding:3px 23px 3px 3px;float:right;display:inline;position:relative;right:0;font-size:95%}div.b_noti a.b_contexthelp{position:absolute;top:2px;right:2px}div.b_noti a.b_noti_unsubscribe_link{background:url(../openolat/images/mail--minus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_subscribe_link{background:url(../openolat/images/mail--plus.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_noti a.b_noti_markedread_link{background:url(../openolat/images/tick.png) no-repeat left 50%;padding:1px 0 1px 20px}div.b_titled_wrapper div.b_noti{position:absolute;right:25px;top:0px}div.b_titled_wrapper fieldset div.b_noti{top:12px}h1.b_titled_wrapper span{padding-right:4em;font-style:italic}h2.b_titled_wrapper span{padding-right:4em;font-style:italic}h3.b_titled_wrapper span{padding-right:4em;font-style:italic}h4.b_titled_wrapper span{padding-right:3em;font-style:italic}h5.b_titled_wrapper span{padding-right:3em;font-style:italic}a.b_togglebox_closed{background:url("../openolat/images/tree_parent_closed.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}a.b_togglebox_opened{background:url("../openolat/images/tree_parent_open.gif") no-repeat 0 50%;padding:1px 0 1px 18px;vertical-align:middle}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content{background:transparent;border:0px;padding:0px}div.b_titled_wrapper_desc a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;position:absolute;top:2px;left:5px;background:url(../openolat/images/information-white.png) no-repeat 0 50%}div.b_titled_wrapper_desc a.b_togglebox_closed{display:block;width:20px;height:20px;background:url(../openolat/images/information-white.png) no-repeat top left;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=60);-moz-opacity:0.6;-khtml-opacity:0.6;opacity:0.6}div.b_titled_wrapper_desc div.b_togglebox div.b_togglebox_content{position:relative;margin-bottom:1em}div.b_titled_wrapper_desc a.b_togglebox_hide span{position:absolute;bottom:0;right:0;padding:0 6px 3px 0}div.b_titled_wrapper_desc a.b_togglebox_hide:hover{text-decoration:underline}div.b_titled_wrapper div.b_togglebox div.b_togglebox_content div.o_course_run_objectives{position:relative}div.o_course_run_dropbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_returnbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_course_run_solutionbox div.b_noti{position:relative;top:0;right:25px;border:1px solid #FFFFFF}div.o_catalog div.o_catalog_link_title{margin:2em 0 0 0;border-bottom:1px solid #ccc;padding:0.3em}div.o_catalog div.o_catalog_title{display:none}div.o_catalog div.o_catalog_nav{padding:1px 0 2px 22px;border-bottom:1px solid #EEE;background:url(../openolat/images/folder_open.png) 2px 50% no-repeat}div.o_catalog .o_catalog_sub_icon{background-image:url(../openolat/images/folder_small.png)}div.o_catalog div.o_catalog_links{margin-top:1em;padding-top:1em;border-top:1px solid #EEE}div.o_catalog div.o_catalog_itemlist ul{list-style-type:none;margin:0;padding:0}div.o_catalog div.o_catalog_itemlist ul li{margin:0;padding:0 0 0 0.5em;overflow:hidden}div.o_catalog div.o_catalog_itemlist ul a{display:block}div.o_catalog div.o_catalog_desc{margin:0.5em 0 0.5em 0;padding-left:20px;font-style:italic}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/images/folder_small.png)}div.b_ext_elem .x-tree-node-collapsed .x-tree-node-icon.o_catalog_cat_noaccess_icon,div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_icon{background-image:url(../openolat/folder_open.png)}div.b_ext_elem .x-tree-node-expanded .x-tree-node-icon.o_catalog_cat_noaccess_icon{background-image:url(../openolat/images/locked.png)}div.b_ext_elem .x-tree-node-leaf .x-tree-node-icon.o_catalog_entry_icon{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}.b_float_left{float:left;display:inline;margin-right:1em;margin-bottom:0.15em}.b_float_right{float:right;display:inline;margin-left:1em;margin-bottom:0.15em}.b_center{text-align:center;margin:0.5em auto}.b_floatscrollbox{overflow-x:auto;overflow-y:hidden}.b_overflowscrollbox{overflow:auto}}@media all and (min-width : 1324px){#b_footer #b_share{left:0}#b_footer #b_footer_user{left:0}#b_footer #b_footer_version{right:0}}.b_dd_item{cursor:move;z-index:1000}.b_dd_proxy{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.b_dd_item.b_dd_over{background-color:#ffff60}.b_dd_sibling{height:3px;width:100%}.b_dd_sibling.b_dd_over{background:transparent url(../openolat/images/arrow_dd.png) top left no-repeat}div.b_dd_ct div.b_dd_sibling_l1{margin-left:0 !important}div.b_dd_ct div.b_dd_sibling_l2{margin-left:1em !important}div.b_dd_ct div.b_dd_sibling_l3{margin-left:2em !important}div.b_dd_ct div.b_dd_sibling_l4{margin-left:3em !important}div.b_dd_ct div.b_dd_sibling_l5{margin-left:4em !important}div.b_dd_ct div.b_dd_sibling_l6{margin-left:5em !important}div.b_dd_ct div.b_dd_sibling_l7{margin-left:6em !important}div.b_dd_ct div.b_dd_sibling_l8{margin-left:7em !important}div.b_dd_ct div.b_dd_sibling_l9{margin-left:8em !important}div.b_dd_ct div.b_dd_sibling_l10{margin-left:9em !important}div.b_dd_ct div.b_dd_sibling_l11{margin-left:10em !important}.b_group_accesscontrolled{background-image:url("../openolat/images/ac/umbrella.png")}.b_order_icon{background-image:url("../openolat/images/ac/shopping-basket.png")}div.b_order_details{margin-top:2em}div.b_order_details label{font-weight:bold}div.b_access_create ul{padding:0;margin-left:0}div.b_access_create li{padding:0;list-style:none}table.b_access_method td{padding:0.2em 1em 0.2em 0}table.b_access_method tr.b_access_desc td{padding:0 1em 1em 20px;font-style:italic}table.b_access_method td div.b_form_element{margin-left:0}div.b_access_method_list div.b_access_method legend{background-repeat:no-repeat;padding-left:20px}table span.b_access_method{padding-right:5px;font-size:90%;vertical-align:bottom;line-height:16px}.b_access_member_icon{background-image:url(../openolat/images/ac/lock-unlock.png)}.b_access_membersonly_icon{background-image:url("../openolat/images/ac/lock.png")}.b_access_method_free_icon{background-image:url("../openolat/images/ac/open-share.png")}.b_group_accesscontrolled.b_access_method_free,b_order_icon.b_access_method_free{background-image:url("../openolat/images/ac/open-share.png")}div.b_access_method_list div.b_access_method_free legend{background-image:url("../openolat/images/ac/open-share.png")}.b_access_method_token_icon{background-image:url("../openolat/images/ac/license-key.png")}.b_group_accesscontrolled.b_access_method_token,b_order_icon.b_access_method_token{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token legend{background-image:url("../openolat/images/ac/license-key.png")}div.b_access_method_list div.b_access_method_token div.b_form_element_wrapper:nth-last-of-type(3) label,table.b_access_method tr.b_access_method_token .b_access_infos{background-image:url("../openolat/images/ac/key.png");background-repeat:no-repeat;padding-left:20px}div.b_access_method_list div.b_form_element_wrapper:nth-last-of-type(4) label{background-image:url("../openolat/images/information-white.png");background-repeat:no-repeat;padding-left:20px}.b_access_method_paypal_icon{background-image:url("../openolat/images/ac/credit-cards.png")}#b_main_access_control{margin:0 20% 0 20%;padding:20px 0 0 20px}.b_order_status_new_icon{background-image:url(../openolat/images/new-text.png)}.b_order_status_prepayment_icon{background-image:url(../openolat/images/ac/prepayment.png)}.b_order_status_payed_icon{background-image:url(../openolat/images/tick.png)}.b_order_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_order_status_error_icon{background-image:url(../images/olat/cross.png)}.b_order_status_warning_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_success_icon{background-image:url(../openolat/images/tick.png)}.b_transaction_status_waiting_icon{background-image:url(../openolat/images/exclamation.png)}.b_transaction_status_error_icon{background-image:url(../openolat/images/cross.png)}.b_transaction_status_canceled_icon{background-image:url(../openolat/images/ac/canceled.png)}.b_transaction_status_new_icon{background-image:url(../openolat/images/new-text.png)}div.b_form div.b_form_element_wrapper table.b_access_method div.b_form_element{margin-left:0}div.b_form table.b_access_method div.b_form_element span.b_form_datechooser{background-position:0 50%}div.b_layer_1 div.b_modal_area{width:82%;margin:9%}div.b_layer_2 div.b_modal_area{width:76%;margin:12%}div.b_layer_3 div.b_modal_area{width:70%;margin:15%}div.b_layer_5 div.b_modal_area{width:64%;margin:18%}div.b_modal_area{position:absolute;top:0px;left:0px;width:80%;margin:10%;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;zoom:1}div.b_modal_overlay,div.ext-el-mask{background:#000;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=25);-moz-opacity:0.25;-khtml-opacity:0.25;opacity:0.25}div.b_window{text-align:left;border:1px solid red;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;background:#fff}div.b_window .b_window_header_wrapper{padding:2px 8px 0px 8px}div.b_window div.b_window_header{position:relative;border-bottom:1px solid #eee}div.b_window div.b_window_header_title{min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_window div.b_window_header_title a.b_link_close{top:4px;right:4px;position:absolute;min-height:16px;min-width:16px;background:transparent url("../openolat/images/close.png") no-repeat center center;display:inline-block}div.b_window div.b_window_header_title a.b_link_close:hover{top:4px;right:4px}div.b_window div.b_window_header_title strong{font-weight:bold}div.b_window div.b_window_content_wrapper{clear:both;width:auto;padding:0 4px 0 4px}div.b_window div.b_window_content{padding:1em}div.b_window div.b_window_content_inner{min-height:200px;position:relative}div.b_window div.b_window_footer_wrapper{height:4px}div.b_callout_content{max-width:60em;overflow:hidden}div.x-tip-tc,div.x-tip-bc{background-repeat:repeat !important}div.x-tip-body p{margin-bottom:0px}div.x-tip-mc{background:#e9f2ff !important}body.b_ajax_busy{cursor:wait}div.b_ajax_busy{position:absolute;z-index:5001;left:50%;top:10px;height:32px;width:32px;background-repeat:no-repeat;background-image:url(../openolat/images/ajax-loader.svg)}html.no-svg div.b_ajax_busy{background-image:url(../openolat/images/ajax-loader.gif)}div.b_msg_dialog{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_question_32.png) no-repeat 10px 10px}div.b_msg_dialog .b_msg_title{font-weight:bold}#b_msg_sticky{clear:both;padding:10px 10px 10px 50px;min-height:32px;background:#ffb651 url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px;border:none}div.b_msg-div{left:35%;position:absolute;top:10px;width:30%;z-index:20000;border:1px solid red;background:#FAFAFA;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-ms-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-o-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);-webkit-box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3);box-shadow:0px 0px 6px rgba(0, 0, 0, 0.3)}div.b_msg-div .b_msg_info_winicon{background:transparent url(../openolat/images/icon_info_32.png) no-repeat 10px center}div.b_msg_info_content{padding:10px 10px 10px 50px}div.b_msg_warn_winicon{background:url(../openolat/images/icon_warning_32.png) no-repeat}div.b_msg_error_winicon{background:url(../openolat/images/icon_error_32.png) no-repeat}#b_msg_info{padding:10px 10px 10px 50px;min-height:32px;background:url(../openolat/images/icon_info_32.png) no-repeat 10px 10px}#b_msg_info .b_msg_title{font-weight:bold}.o_infomessage_wrapper{border:1px solid #ccc;background:#FAFAFA;margin-bottom:20px}.o_infomessage_wrapper .o_infomessage{padding:10px 10px 10px 50px;text-align:left;min-height:40px;background:url(../openolat/images/icon_warning_32.png) no-repeat 10px 10px}div.b_wizard{background:#fff;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;border:1px solid red}div.b_wizard div.b_wizard_header_wrapper{background:transparent}div.b_wizard div.b_wizard_header{background:transparent;position:relative}div.b_wizard div.b_wizard_header_title{background:transparent;min-height:18px;line-height:18px;vertical-align:middle;padding:2px 5px 2px 5px}div.b_wizard div.b_wizard_header_title a.b_link_close{top:4px;right:4px;background:url(../openolat/images/close.png);background-repeat:no-repeat}div.b_wizard div.b_wizard_header_title strong{font-weight:bold}div.b_wizard div.b_wizard_steps_wrapper{clear:both;width:auto;padding:0 4px 0 4px;background:transparent}div.b_wizard div.b_wizard_steps_content{background:#fff;border:1px solid #555555;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_wizard div.b_wizard_steps_list{width:20em;padding:0;color:#555555}div.b_wizard div.b_wizard_steps_list ol{list-style-type:decimal;z-index:14;font-size:100%;padding:2em 5px 5px}div.b_wizard div.b_wizard_steps_list li{line-height:1.5em;white-space:normal;margin-bottom:1em;list-style:none;padding-left:18px}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current{font-weight:bold;background:url(../openolat/images/bullet_go.png) 0% 50% no-repeat;padding-left:18px}div.b_wizard div.b_wizard_steps_list li a{color:#555555}div.b_wizard div.b_wizard_steps_list li a:hover{color:#4F576A;background:transparent;text-decoration:underline}div.b_wizard div.b_wizard_steps_list li .b_disabled{color:#basegray_light;border:0;background:transparent;padding:0;margin:0;white-space:normal;font-style:italic}div.b_wizard div.b_wizard_steps_list li.b_wizard_steps_current .b_disabled{color:#555555;font-style:normal}div.b_wizard div.b_wizard_steps_current{margin-left:20em;padding-top:0.5em;padding-bottom:0.5em}div.b_wizard div.b_wizard_steps_current_inner{padding:1em;border-left:1px solid #ccc}div.b_wizard div.b_wizard_steps_current_content{min-height:300px;position:relative}div.b_wizard div.b_wizard_footer_wrapper{background:transparent}div.b_wizard div.b_wizard_footer div.b_button_group{text-align:left;padding:0.5em 1em 0.5em 21em;margin:0}span.b_wizard_button_prev:before,a.b_wizard_button_prev span:before{content:"\00ab \00a0"}span.b_wizard_button_next:after,a.b_wizard_button_next span:after{content:" \00bb"}a.b_wizard_button_finish,span.b_wizard_button_finish{margin-left:3em}a.b_wizard_button_cancel,span.b_wizard_button_cancel{margin-left:3em}.b_wizard_table_changedcell{font-style:italic;font-weight:bold;background:url(../openolat/images/new-text.png) no-repeat;padding-left:18px}div.b_legacy_wizard_steps{float:right;display:inline}.b_legacy_wizard_step_a1{background-image:url(../openolat/images/wizard/1a.png)}.b_legacy_wizard_step_a2{background-image:url(../openolat/images/wizard/2a.png)}.b_legacy_wizard_step_a3{background-image:url(../openolat/images/wizard/3a.png)}.b_legacy_wizard_step_a4{background-image:url(../openolat/images/wizard/4a.png)}.b_legacy_wizard_step_a5{background-image:url(../openolat/images/wizard/5a.png)}.b_legacy_wizard_step_a6{background-image:url(../openolat/images/wizard/6a.png)}.b_legacy_wizard_step_a7{background-image:url(../openolat/images/wizard/7a.png)}.b_legacy_wizard_step_a8{background-image:url(../openolat/images/wizard/8a.png)}.b_legacy_wizard_step_a9{background-image:url(../openolat/images/wizard/9a.png)}.b_legacy_wizard_step_p1{background-image:url(../openolat/images/wizard/1p.png)}.b_legacy_wizard_step_p2{background-image:url(../openolat/images/wizard/2p.png)}.b_legacy_wizard_step_p3{background-image:url(../openolat/images/wizard/3p.png)}.b_legacy_wizard_step_p4{background-image:url(../openolat/images/wizard/4p.png)}.b_legacy_wizard_step_p5{background-image:url(../openolat/images/wizard/5p.png)}.b_legacy_wizard_step_p6{background-image:url(../openolat/images/wizard/6p.png)}.b_legacy_wizard_step_p7{background-image:url(../openolat/images/wizard/7p.png)}.b_legacy_wizard_step_p8{background-image:url(../openolat/images/wizard/8p.png)}.b_legacy_wizard_step_p9{background-image:url(../openolat/images/wizard/9p.png)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs{float:left;display:inline-block;margin-bottom:1em}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul{line-height:1em;list-style:none;margin:0;padding:0;white-space:nowrap}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul strong{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul > ul strong{width:auto}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li:active{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:focus,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:hover,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul a:active{color:#000;text-decoration:none}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_active strong{color:#000;font-weight:bold}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled{background:white !important}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled a,div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled strong{color:#8994A9;background:transparent !important;font-weight:normal}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_disabled:hover{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_first{-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:3px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:3px;border-top-left-radius:3px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:3px}div.b_tabbedpane_wrapper div.b_tabbedpane_tabs ul li.b_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:0px}div.b_tabbedpane_wrapper div.b_tabbedpane_content{clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}div.b_tabbedpane_wrapper div.b_tabbedpane_content div.b_tabbedpane_content_inner{position:relative;min-height:30em}div.b_segments_container{min-height:25px;padding-top:8px;position:relative;background:url(../openolat/images/divider.png) center top no-repeat}div.b_segments_container div.b_segments{clear:both;position:absolute;left:50%}div.b_segments_container div.b_segments a:hover{text-decoration:none}div.b_segments_container div.b_segments ul{position:relative;left:-50%;list-style-type:none;margin:0}div.b_segments_container div.b_segments ul li{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;margin:0;float:left;display:inline;position:relative}div.b_segments_container div.b_segments ul li a{background:transparent;color:#667;display:block;font-weight:normal;padding:1px 6px 1px 5px;text-decoration:none;text-transform:none}div.b_segments_container div.b_segments ul li a:hover,div.b_segments_container div.b_segments ul li a:active,div.b_segments_container div.b_segments ul li a:focus{text-decoration:none}div.b_segments_container div.b_segments ul li:hover{moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}div.b_segments_container div.b_segments ul li.b_segment_selected{moz-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-ms-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-o-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);-webkit-box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0px 1px 2px rgba(0, 0, 0, 0.1);background:#eee;border-color:#ccc}div.b_segments_container div.b_segments ul li.b_segment_selected a,div.b_segments_container div.b_segments ul li.b_segment_selected strong{color:#000;font-weight:bold}div.b_segments_container div.b_segments ul li.b_segment_first{-webkit-border-top-left-radius:12px;-webkit-border-top-right-radius:0px;-webkit-border-bottom-right-radius:0px;-webkit-border-bottom-left-radius:12px;-moz-border-radius-topleft:12px;-moz-border-radius-topright:0px;-moz-border-radius-bottomright:0px;-moz-border-radius-bottomleft:12px;border-top-left-radius:12px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:12px}div.b_segments_container div.b_segments ul li.b_segment_last{-webkit-border-top-left-radius:0px;-webkit-border-top-right-radius:12px;-webkit-border-bottom-right-radius:12px;-webkit-border-bottom-left-radius:0px;-moz-border-radius-topleft:0px;-moz-border-radius-topright:12px;-moz-border-radius-bottomright:12px;-moz-border-radius-bottomleft:0px;border-top-left-radius:0px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-bottom-left-radius:0px}div.b_segments_container div.b_segment_content{margin-top:50px;clear:both;padding:5px 15px;background:transparent;border:1px solid #d4d4d4}button{border:none}.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_button,.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center}.b_button:focus,.b_button:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_button:focus{border:1px solid red}.b_button:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border:1px solid red}.b_button.b_button_preferred{background:#f7d1d1;background:-moz-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f7d1d1), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);background:linear-gradient(top, #f7d1d1 0%, #f1f1f1 100%);border:1px solid red}.b_button:focus,.b_button:hover{border:1px solid #aaa\9}.b_button_dirty{background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%);border-color:#ff9900}.b_button_dirty:focus,.b_button_dirty:hover{text-decoration:none;border:1px solid #ffc20e;background:white;background:-moz-linear-gradient(top, white 0%, #fff7e0 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #fff7e0));background:-webkit-linear-gradient(top, white 0%, #fff7e0 100%);background:-o-linear-gradient(top, white 0%, #fff7e0 100%);background:-ms-linear-gradient(top, white 0%, #fff7e0 100%);background:linear-gradient(top, white 0%, #fff7e0 100%)}.b_disabled.b_button{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s "";border:1px dotted #ccc;background:#fff}.b_disabled.b_button,.b_disabled.b_button span{color:#444;font-size:100%;display:inline-block;padding:0 0.8em;width:auto;line-height:1.9em;text-align:center;cursor:default !important;color:#888}.b_disabled.b_button:focus,.b_disabled.b_button:hover{moz-box-shadow:0 0 0 transparent;-ms-box-shadow:0 0 0 transparent;-o-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent}div.b_button_group{text-align:center;margin:2em 0 1em 0}div.b_button_group div{display:inline}.b_xsmall,sup,sub{font-size:80%}.b_small,small{font-size:90%}a.b_toggle{white-space:nowrap;margin:0 0.5em 0.2em 0;cursor:default;color:#2C2B2B;border:1px solid #aaa;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_off.png) top left repeat-x}a.b_toggle span{padding:0 0.8em}a.b_toggle:hover{background:#ddd;text-decoration:none}a.b_toggle.b_on:hover{background:#747474}a.b_toggle.b_on,a.b_toggle:active,a.b_toggle.b_on:active{color:white;border:none;padding:1px;moz-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-ms-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-o-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);-webkit-box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);box-shadow:inset 1px 1px 2px rgba(0, 0, 0, 0.5);text-shadow:1px 1px 2px rgba(0, 0, 0, 0.5)}a.b_toggle:focus,a.b_toggle.b_on:focus{text-decoration:none}a.b_toggle:active,a.b_toggle.b_on:active{background:url(../openolat/images/toggle_active.png) top left repeat-x}a.b_toggle.b_on{background:url(../openolat/images/toggle_on.png) top left repeat-x}span.b_toggle.b_disabled{white-space:nowrap;margin:0 0.5em 0.2em 0;padding:0 0.8em;color:#667;border:1px solid #DDD;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;display:inline-block;line-height:1.5em;text-align:center;background:url(../openolat/images/toggle_dis.png) top left repeat-x}a.b_toggle_slide{background:url(../openolat/images/handle.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.2em 0.2em 0.2em;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle;position:relative}a.b_toggle_slide span{position:absolute;top:-25px;left:0}a.b_toggle_slide:hover,a.b_toggle_slide:focus,a.b_toggle_slide:active,a.b_toggle_slide.b_on:hover,a.b_toggle_slide.b_on:focus,a.b_toggle_slide.b_on:active{border:1px solid #868686;text-decoration:none}a.b_toggle_slide.b_on{background-position:-16px 0px}a.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_dis.png) -63px 0px no-repeat;height:25px;width:85px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;display:inline-block;text-align:center;vertical-align:middle}a.b_toggle_slide.b_small{background:url(../openolat/images/handle_small.png) -41px 0px no-repeat;height:16px;width:55px;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px}a.b_toggle_slide span{position:absolute;top:-16px}a.b_toggle_slide.b_small.b_on{background-position:-9px 0px}span.b_toggle_slide.b_disabled{background:url(../openolat/images/handle_small_dis.png) -41px 0px no-repeat;height:16px;width:55px;white-space:nowrap;margin:0 0.5em 0.2em 0;color:#2C2B2B;border:1px solid #aaa;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;display:inline-block;text-align:center;vertical-align:middle}span.b_toggle_slide_legend{font-size:90%}.b_link_back{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_back > span{padding:0px 8px 0px 25px;background:transparent url("../openolat/images/arrow_left_big.png") no-repeat 4px center}.b_link_back:focus,.b_link_back:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_back:focus{border-color:red}.b_link_back:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:red}.b_link_left_icon{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;white-space:nowrap;cursor:pointer;margin:0 0.5em 0.5em 0;padding:0;color:#444;background:transparent;display:inline-block;line-height:2.2em;vertical-align:middle;text-align:left;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.1);background:#f5f5f5;background:-moz-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #f1f1f1));background:-webkit-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-o-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:-ms-linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);background:linear-gradient(top, #f5f5f5 0%, #f1f1f1 100%);-moz-transition:all 0.22s "";-webkit-transition:all 0.22s "";-o-transition:all 0.22s "";transition:all 0.22s ""}.b_link_left_icon > span{padding:2px 8px 0px 25px;background-color:transparent;background-repeat:no-repeat;background-position:4px center}.b_link_left_icon:focus,.b_link_left_icon:hover{text-decoration:none;border:1px solid #C6C6C6;moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-ms-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-o-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.1);box-shadow:0 1px 1px rgba(0, 0, 0, 0.1)}.b_link_left_icon:focus{border-color:red}.b_link_left_icon:active{moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-ms-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-o-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.3);border-color:red}.b_link_to_home > span{background-image:url("../openolat/images/card-address.png")}.b_link_course > span{background-image:url("../openolat/images/book-open-next.png")}.b_link_group > span{background-image:url("../openolat/images/document-page-next.png")}.b_link_mail > span{background-image:url("../openolat/images/mail.png")}.b_link_assessment > span{background-image:url("../openolat/images/le_resources/thumb-up.png")}div.o_login div.o_login_form{margin-bottom:2em}div.o_login div.o_login_form li{list-style:none}div.o_login div.o_login_form fieldset legend{display:none}div.o_login div.o_login_form input{width:15em;padding:2px 3px 2px 3px}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}input,select,textarea{border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em;margin:0}textarea{font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{background:#fff;border:1px solid #504D4E}input.b_checkbox,input.b_radio{height:1em;width:1em;border:0;margin:0 2px 0 0}label.b_checkbox_label,label.b_radio_label{padding-left:0.5em}.b_inline_editable{padding:1px 20px 1px 0;vertical-align:middle;min-height:16px}.b_inline_editable:hover{background-position:100% 50%;background-repeat:no-repeat;background-image:url(../openolat/images/pencil-small.png)}span.b_inline_editable:hover{cursor:text !important}fieldset{position:relative;padding:1em;padding-top:1.5em;border:none;border-top:1px solid #ff6666}fieldset legend{font-family:Comic Sans, Comic Sans MS, cursive;padding:0 5px;font-size:120%;font-weight:bold}div.b_form div.b_form_desc{padding-bottom:1em;font-style:italic}div.b_form div.b_form_general_error{padding:10px 10px 10px 50px;margin-bottom:20px;text-align:left;background:url(../openolat/images/icon_error_32.png) no-repeat 10px 10px;min-height:32px;border:1px solid #990000;color:#990000;font-style:italic}div.b_form div.b_form_spacer{margin:10px 0}div.b_form hr.b_form_spacer{margin:10px 0;border-bottom:1px solid #eee;padding:0}div.b_form hr.b_form_spacer.b_form_horizontal{display:inline-block;width:2em}div.b_form hr.b_form_spacer.b_form_spacer_noline{margin:10px 0;border-bottom:0;padding:0}div.b_form div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0}div.b_form div.b_form_element_wrapper.b_form_horizontal{vertical-align:middle;margin:0.5em 1em 0.5em 0;float:left;display:inline}div.b_form div.b_form_element_wrapper.b_form_vertical{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_label{width:20%;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label label{float:left;display:inline;line-height:1.3em}div.b_form div.b_form_element_wrapper div.b_form_element_label span.b_form_mandatory{background:url(../openolat/images/star-small.png) no-repeat;padding-left:16px;height:16px}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_horizontal{width:auto;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element_label.b_form_vertical{width:auto;float:none;display:block}div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:25%;padding:0 2px 0 12px}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal{margin-left:0;padding-left:0;float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{float:left;display:inline}div.b_form div.b_form_element_wrapper div.b_form_element.b_form_vertical{margin-left:0;margin-top:0.5em;padding-left:0;float:none;display:block;clear:both}div.b_form div.b_form_element_wrapper.b_form_error input,div.b_form div.b_form_element_wrapper.b_form_error select{border:1px solid #990000;background:#ebcccc}div.b_form div.b_form_element_wrapper div.b_form_error_msg{clear:both;color:#990000;font-style:italic;display:block}div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0}div.b_form div.b_button_group{margin-left:0%;padding-left:0px;text-align:left}div.b_form.b_form_vertical div.b_button_group{text-align:left}div.b_form div.b_form_element div.b_form_example{display:inline;font-size:80%;color:#504D4E}div.b_form div.b_form_element .b_form_disabled{color:#504D4E}div.b_form div.b_form_element .b_form_element_disabled{color:#9E9C9C;background:#EEEEEE;border:1px solid #CDCBCB}div.b_form div.b_form_element span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px;padding-top:3px}div.b_form div.b_form_element a.b_form_groupchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_genericchooser{background:url(../openolat/images/users.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}div.b_form div.b_form_element a.b_form_wikitext{background-repeat:no-repeat;padding-left:12px;line-height:1.5em;font-style:italic}div.b_form div.b_form_element a.b_form_wikitext,div.b_form div.b_form_element .b_wiki_icon{background-image:url(../openolat/images/wiki/wiki_small_9px.png)}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element_label{width:10%}div.b_labels_minified div.b_form div.b_form_element_wrapper div.b_form_element{margin-left:12%}div.form_shift_left{left:-25%}div.b_button_group div.b_form_element_wrapper{vertical-align:middle;margin:0.5em 0;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element_label{width:auto;float:none;display:block}div.b_button_group div.b_form_element_wrapper div.b_form_element{margin-left:0}.b_subcolumns{display:table;width:100%;table-layout:fixed}.b_c25l input,.b_c25r input{max-width:93%}div.calendar{z-index:10000 !important}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element{margin:0;float:left}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label{float:none;width:auto;display:block;padding-left:2.5em}div.b_form div.b_form_element_wrapper.b_form_element_switch div.b_form_element_label label{float:none}div.b_form_subform{padding-left:2.5em}div.b_form_selection_vertical div.b_form_selection_element{vertical-align:middle;line-height:1.3em;position:relative}div.b_form_selection_vertical div.b_form_selection_element input{vertical-align:middle;line-height:1.3em}div.b_form_selection_horizontal div.b_form_selection_element{float:left;display:inline;padding-right:1em}div.b_form_selection_horizontal div.b_form_selection_element input{vertical-align:middle}div.b_form div.b_form_element div.b_form_togglecheck{font-size:95%;display:block;vertical-align:middle;line-height:16px;margin-top:0.5em}div.b_form div.b_form_element div.b_form_togglecheck input{height:1em;width:1em}div.o_form_wrapper fieldset{min-width:60em}div.form_shift_left{position:inherit;left:-20%}div.mceExternalToolbar{background:#f0f0ee !important;overflow:auto}table.b_choice{padding:0;margin:0}table.b_choice td{padding:0.1em;margin:0}table.b_choice td.b_togglecheck{padding-top:1em}table.b_choice td.b_togglecheck div.b_togglecheck{display:inline;border-top:1px solid #eee}table.b_choice td.b_togglecheck input{margin:0 7px 0 2px}div.b_fileinput{position:relative}div.b_fileinput div.b_fileinput_fakechooser{position:absolute;top:0px;left:0px;z-index:1;display:inline;white-space:nowrap}div.b_fileinput div.b_fileinput_fakechooser a{margin-left:5px}div.b_fileinput span.b_fileinput_maxsize{padding:1px 0 1px 1em;font-style:italic;min-height:16px;vertical-align:middle}div.b_fileinput input.b_fileinput_realchooser{position:relative;top:0;left:0;z-index:2;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;opacity:0}div.b_fileinput div.b_button_group{text-align:left;padding-left:0;margin-left:0}.b_fileinput_icon{background-image:url(../openolat/images/drive.png)}div.b_progress div.b_progress_bar{height:12px;border:1px solid #bfbfbf;background:#ffcccc}div.b_progress div.b_progress_bar div{height:12px;background:#ff6666;background:-moz-linear-gradient(top, #ff6666 0%, red 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff6666), color-stop(100%, red));background:-webkit-linear-gradient(top, #ff6666 0%, red 100%);background:-o-linear-gradient(top, #ff6666 0%, red 100%);background:-ms-linear-gradient(top, #ff6666 0%, red 100%);background:linear-gradient(top, #ff6666 0%, red 100%)}div.b_mark{width:20px;height:20px}div.b_mark div.b_form_element_wrapper{margin:0}div.b_mark div.b_form_element_wrapper div.b_form_element{margin:0;padding:0}div.b_mark a.b_mark_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px}div.b_mark a.b_mark_not_set{background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:20px;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}div.b_mark a.b_mark_set span,div.b_mark a.b_mark_not_set span{display:block;width:19px;height:19px}table{border-collapse:collapse;margin-bottom:0.5em;border-top:0px solid white;border-bottom:0px solid white}table caption{font-variant:small-caps}table.b_full{width:99.5%}table.fixed{table-layout:fixed}table th,table td{padding:0.3em}table thead th{color:inherit;border-bottom:1px solid #ccc}table tbody tr.b_table_odd td{background:#eee}div.b_table_wrapper table{width:99.5%;margin-left:1px;border:1px solid #eeeeee}div.b_table_wrapper table tbody tr:hover td{background:#ffcccc}div.b_table_wrapper div.b_table_filter{float:left;display:inline;font-size:95%;margin:7px 10px 2px 0}div.b_table_wrapper div.b_table_filter label{font-style:italic;margin:5px 0 2px 0}div.b_table_wrapper div.b_table_filter select{border:1px solid #ACAAAA}div.b_table_wrapper div.b_clearfix div.b_floatbox{margin:5px 0 0 0}div.b_table_wrapper div.b_table_count{font-size:95%;float:left;line-height:16px;vertical-align:bottom;margin:3px;font-size:95%}div.b_table_wrapper a.b_table_prefs,div.b_table_wrapper a.b_table_download{float:right;display:block;background-repeat:no-repeat;background-position:top left;width:16px;height:16px;margin:3px}div.b_table_wrapper a.b_table_prefs{background-image:url(../openolat/images/table_gear.png)}div.b_table_wrapper a.b_table_download{background-image:url(../openolat/images/table_download.png)}div.b_table_wrapper div.b_table_buttons{text-align:center;margin:1.5em 0 1em 0}div.b_table_wrapper div.b_table_empty{margin:1em 0}div.b_table_page{font-size:95%;text-align:center}div.b_table_page a{margin:0;padding:2px}div.b_table_page a.b_table_page_active{font-weight:bold;color:#000}div.b_table_page a.b_table_backward{background:url(../openolat/images/arrow_left.png) no-repeat center left;padding-left:16px}div.b_table_page a.b_table_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}div.b_table_page a.b_table_first_page{background:url(../openolat/images/home.png) no-repeat center left;padding-left:18px}div.b_table_page_all{font-size:95%;text-align:center}a.b_dev{position:absolute;left:0;top:0;z-index:4000;background:red url("../openolat/images/bug.png") no-repeat;width:16px;height:16px;border:1px solid #000}#b_devcon_main{background-color:#ccddff;position:absolute;z-index:4000;top:10px;left:5%;width:90%;text-align:left;border:1px solid #000}#b_devcon_handle{cursor:move;background:blue url(../openolat/images/bug.png) no-repeat 4px 50%;line-height:2em;padding-left:24px;color:white}a#b_devcon_handle_collapse{cursor:pointer;background:url("../openolat/images/tree_parent_open.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a#b_devcon_handle_expand{cursor:pointer;background:url("../openolat/images/tree_parent_closed.gif") no-repeat;width:15px;height:15px;float:right;margin:3px}a.b_devcon_handle_close{cursor:pointer;background:url(../openolat/images/close.png) no-repeat;width:15px;height:15px;float:right;margin:3px}#b_devcon_content{font-size:90%;padding:5px;border-top:0px solid #000;background:transparent}#b_devcon_content ul{float:left;margin:0;padding:0;list-style:none;white-space:nowrap}#b_devcon_content li{margin:0;padding:0 10px 0 0;float:left}#b_devcon_content fieldset{border-top:1px solid #ccc;margin:0;padding:8px}#b_devcon_mode{width:1em;height:1em;float:left;border:1px solid #000;margin-right:5px}#b_js_log textarea#o_debug_cons{width:99%;height:15em;font-family:monospace;font-size:110%;margin:5px 0 5px 0}iframe.o_debug_json{position:fixed;width:90%;margin-left:5%;bottom:4px;height:300px;background:white;border:2px solid #ccd8e7;z-index:90000}div.b_briefcase div.b_briefcase_foldercomp{margin-top:0.5em}div.b_briefcase_foldercomp div.b_briefcase_createactions{margin:0.5em 0}div.b_briefcase_foldercomp div.b_briefcase_createactions ul{list-style:none;margin:0;padding:0;white-space:nowrap;font-size:95%}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li{float:right;display:inline;margin:0 0 0 1em;padding:0 0 0 3px;position:relative}div.b_briefcase_foldercomp div.b_briefcase_createactions ul li a{background-position:0 50%;background-repeat:no-repeat;padding:2px 0 2px 20px}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_upload{background-image:url(../openolat/images/docs/document_upload.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfolder{background-image:url(../openolat/images/folder_new.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_newfile{background-image:url(../openolat/images/docs/document_add.png)}div.b_briefcase_foldercomp div.b_briefcase_createactions ul a.b_briefcase_deletedfiles{background-image:url(../openolat/images/docs/document_remove.png)}div.b_briefcase_foldercomp div.b_briefcase_breadcrumb{clear:both;padding:1px 0 1px 20px;margin:0.5em 0 0 0;background:url(../openolat/images/folder_open.png) no-repeat 0 50%}div.b_briefcase_foldercomp div.b_briefcase_empty{clear:both;margin-top:0.5em;font-style:italic}div.b_briefcase_foldercomp table.b_briefcase_filetable{clear:both;border-collapse:collapse;margin-bottom:0.5em;background:#fff;width:99.9%;border:1px solid #eee}div.b_briefcase_foldercomp table.b_briefcase_filetable thead{color:#000}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a,div.b_briefcase_foldercomp table.b_briefcase_filetable thead span{color:#4F576A;font-weight:bold}div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable thead a:focus{color:#000000;text-decoration:none;background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable th,div.b_briefcase_foldercomp table.b_briefcase_filetable td{white-space:nowrap;text-align:right;padding-right:1em}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_last_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-right:0}div.b_briefcase_foldercomp table.b_briefcase_filetable th.b_first_child,div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_first_child{width:60%;text-align:left}div.b_briefcase_foldercomp table.b_briefcase_filetable td input.b_checkbox{margin:0 4px 0 0}div.b_briefcase_foldercomp table.b_briefcase_filetable td a:hover,div.b_briefcase_foldercomp table.b_briefcase_filetable td a:focus{background-color:transparent}div.b_briefcase_foldercomp table.b_briefcase_filetable td.b_last_child{padding-left:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions td{border:0;padding:0 0 0 3px;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable table.b_briefcase_actions tr{border:0;padding:0;margin:0}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_file_icon{background-image:url(../openolat/images/docs/document--pencil.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_edit_meta_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_edit_meta_dis_icon{background-image:url(../openolat/images/docs/document_metadata_edit.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable a.b_briefcase_versions_icon{background-image:url(../openolat/images/docs/document_versions.png)}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_versions_dis_icon{background-image:url(../openolat/images/docs/document_versions.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_briefcase_foldercomp table.b_briefcase_filetable span.b_briefcase_locked_file_icon{background-image:url(../openolat/images/locked.png)}div.b_briefcase_preview{background-color:white;width:200px;height:200px;border:1px solid #8EAACE;margin-top:2px}div.b_briefcase div.b_briefcase_searchcomp{float:left;display:inline;margin:0.5em 0;width:14em}div.b_briefcase div.b_briefcase_searchcomp input{width:10em}div.b_briefcase div.b_briefcase_searchcomp div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_briefcase div.b_briefcase_commandbuttons{margin:1em 0}div.b_briefcase div.b_briefcase_webdav{margin:0.5em 0}div.b_briefcase div.b_briefcase_quota{clear:both;margin-top:1em;padding-top:1em;border-top:1px solid #000}div.b_briefcase_meta{size:0.8em}div.b_briefcase_meta p{font-style:italic;margin:0;padding-top:2px}div.b_send_documents ol.textbox-outer{margin-left:0;border:1px solid #ACAAAA;background:#F6F6F6;line-height:1.3em}div.b_send_documents ol li{margin-left:0}div.b_send_documents textarea{overflow:auto;resize:none}@media all{div.o_wiki_wrapper{clear:both}div.o_wiki_wrapper div.o_wikimod_btn{position:relative}div.o_wiki_wrapper div.o_wikimod_btn a{margin-bottom:9px;background-repeat:no-repeat;background-position:center center;width:20px;height:19px;float:left;display:inline;padding-left:2px;border:1px solid #ccc;background-color:#eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;margin-right:2px}div.o_wiki_wrapper div.o_wikimod_btn a:hover{border:1px solid red}div.o_wiki_wrapper div.o_wikimod_btn div.b_contexthelp_wrapper a.b_contexthelp{position:absolute;top:0;right:0}div.o_wiki_wrapper a.o_wikimod_btn_bold{background-image:url(../openolat/images/wiki/edit-bold.png)}div.o_wiki_wrapper a.o_wikimod_btn_italic{background-image:url(../openolat/images/wiki/edit-italic.png)}div.o_wiki_wrapper a.o_wikimod_btn_link{background:url(../openolat/images/wiki/chain.png)}div.o_wiki_wrapper a.o_wikimod_btn_extlink{background:url(../openolat/images/wiki/chain--arrow.png)}div.o_wiki_wrapper a.o_wikimod_btn_headline{background:url(../openolat/images/wiki/edit-heading.png)}div.o_wiki_wrapper a.o_wikimod_btn_image{background:url(../openolat/images/wiki/image-medium.png)}div.o_wiki_wrapper a.o_wikimod_btn_media{background:url(../openolat/images/music-beam.png)}div.o_wiki_wrapper a.o_wikimod_btn_math{background:url(../openolat/images/wiki/edit-math.png)}div.o_wiki_wrapper a.o_wikimod_btn_nowiki{background:url(../openolat/images/wiki/edit-nowiki.png)}div.o_wiki_wrapper a.o_wikimod_btn_hr{background:url(../openolat/images/wiki/edit-hr.png)}div.o_wiki_wrapper a.o_wikimod_btn_list{background:url(../openolat/images/wiki/edit-list.png)}div.o_wiki_wrapper a.o_wikimod_btn_numlist{background:url(../openolat/images/wiki/edit-list-order.png)}div.o_wiki_wrapper .b_eportfolio_add,div.o_wiki_wrapper .b_eportfolio_add_again{position:absolute;top:28px;right:3px;z-index:99}div.o_wiki_wrapper h1{font-size:1.0em}div.o_wiki_wrapper h2{font-size:1.0em}div.o_wiki_wrapper h3{font-size:1.0em}div.o_wikimod_linkchooser{clear:both;float:left;display:inline}div.o_wikimod_filechooser{margin:0 2em;float:left;display:inline}div.o_wikimod_nav{font-size:90%;padding-top:1.5em}div.o_wikimod_nav legend{font-size:95%}div.o_wikimod_nav fieldset{padding:0.5em}div.o_wikimod_nav input{width:99%}div.o_wikimod_nav ul{margin:0;padding:0}div.o_wikimod_nav div.b_button_group{margin:0.5em 0;text-align:left}div.o_wikimod_nav div.b_form div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_wikimod_nav .b_form_element_wrapper .b_form_element{padding:0}div.o_wikimod_nav div.b_form_element_wrapper div.b_form_element.b_form_horizontal .b_button{margin:0.5em 0}div.o_wikimod_editform_wrapper{clear:both;padding:0.5em 0 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element_label{display:none}div.o_wikimod_editform_wrapper div.b_form div.b_form_element_wrapper div.b_form_element{clear:both;margin-left:0;padding:0 5px 0 0}div.o_wikimod_editform_wrapper div.b_form div.b_button_group{margin-left:0;text-align:center}div.o_wikimod-article-box table[border="1"]{border-collapse:collapse;border:1px solid #BFBFBF}h1.o_wikimod_heading,h3.o_wikimod_heading{margin:0 0 1em 0;padding:.5em 0 .17em 0;border-bottom:1px solid #BFBFBF}#o_wikimod_uploader{margin:1em 0 0 0}.o_wikimod_version{border:1px solid #BFBFBF;padding:4px;margin-top:5px}.o_wikimod_diff{border:1px solid #BFBFBF;padding:4px;margin:0px}.o_wikimod_warn{color:#DF9719}.o_wiki_error{background-color:#DF9719}.o_wikimod_ins{background-color:#A4DCA4}.o_wikimod_old{background-color:#FFCCCC}.o_wikimod_new{background-color:#A4DCA4}.o_wikimod_del{background-color:#FFCCCC}.wiki-image{float:right;padding:10px;clear:right}.wiki-file-deleted{text-decoration:line-through}}div.o_forum div.o_forum_switch{font-size:90%}div.o_forum div.o_forum_message{margin:1em 0 1em 0;padding:0.5em;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:#eeeeee}div.o_forum div.o_forum_message_header_wrapper{min-height:24px}div.o_forum div.o_forum_message_header_wrapper div.o_forum_message_header{min-height:24px}div.o_forum div.o_forum_message_title{vertical-align:middle;padding:2px 5px 2px 5px;min-height:24px}div.o_forum div.o_forum_message_title strong{font-weight:bold}div.o_forum div.o_forum_message_new div.o_forum_message_title strong{background:url(../openolat/images/new-text.png) no-repeat top right;padding-right:20px}div.o_forum div.o_forum_message_creator{width:100px;padding:0.5em 12px 0px 21px;font-size:95%;color:#4F576A;float:right;border-left:1px solid #fff}div.o_forum div.o_forum_message_creator strong{font-weight:normal}div.o_forum div.o_forum_message_creator img{border:1px solid #4F576A}div.o_forum div.o_forum_message_body{padding:0.5em;background:transparent;margin-right:155px}div.o_forum div.o_forum_message_attachments{margin:2em 0 0.5em 0;border-top:1px solid #555555;font-size:95%}div.o_forum div.o_forum_message_attachments strong{display:block;margin:0.5em 0;font-weight:normal;font-style:italic}div.o_forum div.o_forum_message_attachments ul{list-style:none;margin:0;padding:0}div.o_forum div.o_forum_message_attachments li{margin:0;padding:0}div.o_forum div.o_forum_message_attachments a{background-repeat:no-repeat;background-position:0 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}div.o_forum div.o_forum_message_modified{clear:both;border-top:1px solid #506D90;padding:0.5em 0 0 0;font-size:95%;font-style:italic;text-align:center;color:#98221F}div.o_forum div.o_forum_message_actions{text-align:center;padding:0.2em 1em;padding-top:0.8em}span.o_forum_thread_sticky{font-weight:bold}span.o_forum_status_thread_icon{background-image:url(../openolat/images/forum/forum.png)}span.o_forum_status_sticky_closed_icon{background-image:url(../openolat/images/forum/sticky-note-pin_locked.png)}span.o_forum_status_sticky_icon{background-image:url(../openolat/images/forum/sticky-note-pin.png)}span.o_forum_status_closed_icon{background-image:url(../openolat/images/forum/forum_locked.png)}div.o_forum_peekview{margin:1em 0 1em 0}div.o_forum_peekview h5{font-size:1em;position:relative;left:-20px}div.o_forum_peekview div.o_forum_peekview_message{padding-left:20px;padding-bottom:15px}div.o_forum_peekview div.b_quote_wrapper{display:none}.o_forum_message_icon{background-image:url(../openolat/images/forum/balloon-white-left.png)}div.o_forum_toolbar{float:left;display:inline;width:75%}div#o_forum_fulltextsearch{float:right;display:inline}div#o_forum_fulltextsearch input{width:10em}div#o_forum_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.b_struct_edit_btn{float:right;display:inline}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:white;padding-right:1em;overflow-x:auto}.b_artefact{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}div.o_ep_toc_editor div.b_subcl{min-height:35em}div.o_ep_struct_editor div.b_subcr{min-height:35em;background:#FFF;padding-right:1em;overflow-x:auto}div.b_struct_edit_btn{float:right;display:inline}div.b_struct_submit_assess_btn{float:right;display:inline}.b_artefact div.b_actions{margin-top:2em}.b_artefact div.b_desc{font-style:italic;margin:1em 0}.b_ep_artAttribLink{background-image:url(../openolat/images/table_gear.png)}div.b_artefact_closed{font-size:25px;float:right;background:url(../openolat/images/locked.png) top right no-repeat}div.b_eportfolio_preview_c100l .b_artefact{margin:3px}div.b_eportfolio_preview_c33l .b_artefact{font-size:85%;margin:3px}.b_ep_nolink{color:#000000}.b_ep_nolink:hover{color:#000000;text-decoration:none}.b_ep_multiartefacts div.b_ep_add_message_with_arrow{position:relative;top:-50px}.b_ep_multiartefacts div.b_artefact_count{margin:1em 0 1em 0}a.b_ep_options{background:url(../openolat/images/gear.png) top left no-repeat;width:16px;height:16px;display:block}.b_ep_liveblog_icon{background-image:url(../openolat/images/portfolio/ep_liveblog_icon.png)}div.b_portfolio_toc ul{margin:0}div.b_portfolio_toc li{list-style-type:none}div.b_portfolio_toc li a{font-size:0.8em;text-decoration:none}div.b_portfolio_toc li.level1{font-size:1.2em;margin:1.2em 0 0.2em 0;border-bottom:1px solid #ddd}div.b_portfolio_toc li.level2{padding-left:20px;font-size:1.1em;border-bottom:1px dotted #ddd}div.b_portfolio_toc li.level3{padding-left:40px}div.b_portfolio_toc .link{float:right;margin-right:0px}div.b_portfolio_toc .commentlink{float:right;margin-right:10%}div.b_portfolio_toc .type_artefact{font-style:italic}div.b_portfolio_toc .type_map,div.b_portfolio_toc .type_page,div.b_portfolio_toc .type_struct,div.b_portfolio_toc .type_artefact{background-position:center left;background-repeat:no-repeat;padding-left:20px}a.b_eportfolio_add{background:url(../openolat/images/portfolio/ep_add_icon.png) top left no-repeat;display:block;width:16px;height:16px}td a.b_eportfolio_add{float:right;padding-right:2px}a.b_eportfolio_add_again,span.b_eportfolio_add_again{background:url(../openolat/images/portfolio/ep_add_again_icon.png) top left no-repeat;display:block;width:16px;height:16px}.o_efficiencystatement a.b_eportfolio_add_again{float:right}a.b_eportfolio_link{background:url(../openolat/images/portfolio/ep_link_icon.png) top left no-repeat;display:block;width:16px;height:16px}.b_eportfolio_link{background-image:url(../openolat/images/portfolio/ep_link_icon.png)}ul.b_eportfolio_maps{margin:0;padding:0}ul.b_eportfolio_maps li{display:block;float:left;position:relative;width:195px;height:320px;padding:60px 60px 40px 65px;margin:0.5em;background:url(../openolat/images/portfolio/eportfolio_map_default.png) top left no-repeat;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:14px;-webkit-border-bottom-right-radius:14px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:14px;-moz-border-radius-bottomright:14px;-moz-border-radius-bottomleft:4px;border-top-left-radius:4px;border-top-right-radius:14px;border-bottom-right-radius:14px;border-bottom-left-radius:4px;moz-box-shadow:0 1px 3px lightgray;-ms-box-shadow:0 1px 3px lightgray;-o-box-shadow:0 1px 3px lightgray;-webkit-box-shadow:0 1px 3px lightgray;box-shadow:0 1px 3px lightgray}ul.b_eportfolio_maps li .b_map_info{position:absolute;bottom:40px;width:inherit;font-size:0.9em}ul.b_eportfolio_maps li .b_map_info a.b_open_icon{font-size:1.2em;position:absolute;bottom:170px;right:-10px}.b_eportfolio_changelog .b_form{margin-top:20px;margin-bottom:20px}.b_eportfolio_changelog li{list-style:none}.b_eportfolio_changelog h5{margin-top:16px}.b_eportfolio_mapowner{font-style:italic;margin-bottom:8px}.b_eportfolio_mapowner div{display:inline}@media all{.epmst-green{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green,ul.b_eportfolio_maps li.template.epmst-green{background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-green > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green{margin-top:6px;background:#ecf69a;background:#ecf69a -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ecf69a), to(#ecf69a));background:#ecf69a -moz-linear-gradient(43% 71% 101deg, #ecf69a, #ecf69a);background:#ecf69a -o-linear-gradient(#ecf69a, #ecf69a);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ecf69a', EndColorStr='#ecf69a');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green div.b_map_header h4{color:#444444}.epmst-green div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green div.b_ep_actualpage h1,.epmst-green div.b_ep_actualpage h4{color:#444444}.epmst-green div.b_pagination{float:none;position:static;width:100%}.epmst-green div.b_pagination ul{margin:0}.epmst-green div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green div.b_pagination li span,.epmst-green div.b_pagination li a,.epmst-green div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green div.b_eportfolio_page,.epmst-green div.b_portfolio_toc,.epmst-green div.b_eportfolio_edit{background-image:none}.epmst-green div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green2,ul.b_eportfolio_maps li.template.epmst-green2{background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green2{margin-top:6px;background:#99e44d;background:#99e44d -webkit-gradient(linear, 37% 20%, 53% 100%, from(#99e44d), to(#cbf1a5));background:#99e44d -moz-linear-gradient(43% 71% 101deg, #99e44d, #cbf1a5);background:#99e44d -o-linear-gradient(#99e44d, #cbf1a5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#99e44d', EndColorStr='#cbf1a5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green2 div.b_map_header h4{color:#555555}.epmst-green2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green2 div.b_ep_actualpage h1,.epmst-green2 div.b_ep_actualpage h4{color:#555555}.epmst-green2 div.b_pagination{float:none;position:static;width:100%}.epmst-green2 div.b_pagination ul{margin:0}.epmst-green2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green2 div.b_pagination li span,.epmst-green2 div.b_pagination li a,.epmst-green2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green2 div.b_eportfolio_page,.epmst-green2 div.b_portfolio_toc,.epmst-green2 div.b_eportfolio_edit{background-image:none}.epmst-green2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green3,ul.b_eportfolio_maps li.template.epmst-green3{background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green3{margin-top:6px;background:#dff0c1;background:#dff0c1 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dff0c1), to(#a0d346));background:#dff0c1 -moz-linear-gradient(43% 71% 101deg, #dff0c1, #a0d346);background:#dff0c1 -o-linear-gradient(#dff0c1, #a0d346);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dff0c1', EndColorStr='#a0d346');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green3 div.b_map_header h4{color:#555555}.epmst-green3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green3 div.b_ep_actualpage h1,.epmst-green3 div.b_ep_actualpage h4{color:#555555}.epmst-green3 div.b_pagination{float:none;position:static;width:100%}.epmst-green3 div.b_pagination ul{margin:0}.epmst-green3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green3 div.b_pagination li span,.epmst-green3 div.b_pagination li a,.epmst-green3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green3 div.b_eportfolio_page,.epmst-green3 div.b_portfolio_toc,.epmst-green3 div.b_eportfolio_edit{background-image:none}.epmst-green3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-green4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-green4,ul.b_eportfolio_maps li.template.epmst-green4{background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');border:1px solid #bbbbbb;border-left:3px solid rgba(136, 136, 136, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-green4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#555555}ul.b_eportfolio_maps li.epmst-green4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-green4{margin-top:6px;background:#d7dbb5;background:#d7dbb5 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#d7dbb5), to(#d7dbb5));background:#d7dbb5 -moz-linear-gradient(43% 71% 101deg, #d7dbb5, #d7dbb5);background:#d7dbb5 -o-linear-gradient(#d7dbb5, #d7dbb5);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#d7dbb5', EndColorStr='#d7dbb5');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-green4 div.b_map_header h4{color:#555555}.epmst-green4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-green4 div.b_ep_actualpage h1,.epmst-green4 div.b_ep_actualpage h4{color:#555555}.epmst-green4 div.b_pagination{float:none;position:static;width:100%}.epmst-green4 div.b_pagination ul{margin:0}.epmst-green4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-green4 div.b_pagination li span,.epmst-green4 div.b_pagination li a,.epmst-green4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-green4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-green4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-green4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-green4 div.b_eportfolio_page,.epmst-green4 div.b_portfolio_toc,.epmst-green4 div.b_eportfolio_edit{background-image:none}.epmst-green4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red,ul.b_eportfolio_maps li.template.epmst-red{background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red{margin-top:6px;background:#ffba71;background:#ffba71 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffba71), to(#ffba99));background:#ffba71 -moz-linear-gradient(43% 71% 101deg, #ffba71, #ffba99);background:#ffba71 -o-linear-gradient(#ffba71, #ffba99);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffba71', EndColorStr='#ffba99');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red div.b_map_header h4{color:#444444}.epmst-red div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red div.b_ep_actualpage h1,.epmst-red div.b_ep_actualpage h4{color:#444444}.epmst-red div.b_pagination{float:none;position:static;width:100%}.epmst-red div.b_pagination ul{margin:0}.epmst-red div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red div.b_pagination li span,.epmst-red div.b_pagination li a,.epmst-red div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red div.b_eportfolio_page,.epmst-red div.b_portfolio_toc,.epmst-red div.b_eportfolio_edit{background-image:none}.epmst-red div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red2,ul.b_eportfolio_maps li.template.epmst-red2{background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red2{margin-top:6px;background:#ff9772;background:#ff9772 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ff9772), to(#ff9780));background:#ff9772 -moz-linear-gradient(43% 71% 101deg, #ff9772, #ff9780);background:#ff9772 -o-linear-gradient(#ff9772, #ff9780);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ff9772', EndColorStr='#ff9780');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red2 div.b_map_header h4{color:#444444}.epmst-red2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red2 div.b_ep_actualpage h1,.epmst-red2 div.b_ep_actualpage h4{color:#444444}.epmst-red2 div.b_pagination{float:none;position:static;width:100%}.epmst-red2 div.b_pagination ul{margin:0}.epmst-red2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red2 div.b_pagination li span,.epmst-red2 div.b_pagination li a,.epmst-red2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red2 div.b_eportfolio_page,.epmst-red2 div.b_portfolio_toc,.epmst-red2 div.b_eportfolio_edit{background-image:none}.epmst-red2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red3,ul.b_eportfolio_maps li.template.epmst-red3{background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red3{margin-top:6px;background:#e8afbb;background:#e8afbb -webkit-gradient(linear, 37% 20%, 53% 100%, from(#e8afbb), to(#e8afa0));background:#e8afbb -moz-linear-gradient(43% 71% 101deg, #e8afbb, #e8afa0);background:#e8afbb -o-linear-gradient(#e8afbb, #e8afa0);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#e8afbb', EndColorStr='#e8afa0');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red3 div.b_map_header h4{color:#444444}.epmst-red3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red3 div.b_ep_actualpage h1,.epmst-red3 div.b_ep_actualpage h4{color:#444444}.epmst-red3 div.b_pagination{float:none;position:static;width:100%}.epmst-red3 div.b_pagination ul{margin:0}.epmst-red3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red3 div.b_pagination li span,.epmst-red3 div.b_pagination li a,.epmst-red3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red3 div.b_eportfolio_page,.epmst-red3 div.b_portfolio_toc,.epmst-red3 div.b_eportfolio_edit{background-image:none}.epmst-red3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-red4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-red4,ul.b_eportfolio_maps li.template.epmst-red4{background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-red4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-red4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-red4{margin-top:6px;background:#ffa800;background:#ffa800 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#ffa800), to(#ffaf00));background:#ffa800 -moz-linear-gradient(43% 71% 101deg, #ffa800, #ffaf00);background:#ffa800 -o-linear-gradient(#ffa800, #ffaf00);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffa800', EndColorStr='#ffaf00');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-red4 div.b_map_header h4{color:#444444}.epmst-red4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-red4 div.b_ep_actualpage h1,.epmst-red4 div.b_ep_actualpage h4{color:#444444}.epmst-red4 div.b_pagination{float:none;position:static;width:100%}.epmst-red4 div.b_pagination ul{margin:0}.epmst-red4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-red4 div.b_pagination li span,.epmst-red4 div.b_pagination li a,.epmst-red4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-red4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-red4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-red4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-red4 div.b_eportfolio_page,.epmst-red4 div.b_portfolio_toc,.epmst-red4 div.b_eportfolio_edit{background-image:none}.epmst-red4 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue,ul.b_eportfolio_maps li.template.epmst-blue{background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue{margin-top:6px;background:#00d2f8;background:#00d2f8 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#00d2f8), to(#4a9ead));background:#00d2f8 -moz-linear-gradient(43% 71% 101deg, #00d2f8, #4a9ead);background:#00d2f8 -o-linear-gradient(#00d2f8, #4a9ead);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#00d2f8', EndColorStr='#4a9ead');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue div.b_map_header h4{color:#444444}.epmst-blue div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue div.b_ep_actualpage h1,.epmst-blue div.b_ep_actualpage h4{color:#444444}.epmst-blue div.b_pagination{float:none;position:static;width:100%}.epmst-blue div.b_pagination ul{margin:0}.epmst-blue div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue div.b_pagination li span,.epmst-blue div.b_pagination li a,.epmst-blue div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue div.b_eportfolio_page,.epmst-blue div.b_portfolio_toc,.epmst-blue div.b_eportfolio_edit{background-image:none}.epmst-blue div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue2{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue2,ul.b_eportfolio_maps li.template.epmst-blue2{background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue2 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue2 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue2{margin-top:6px;background:#c4f6ff;background:#c4f6ff -webkit-gradient(linear, 37% 20%, 53% 100%, from(#c4f6ff), to(#c4f6ff));background:#c4f6ff -moz-linear-gradient(43% 71% 101deg, #c4f6ff, #c4f6ff);background:#c4f6ff -o-linear-gradient(#c4f6ff, #c4f6ff);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#c4f6ff', EndColorStr='#c4f6ff');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue2 div.b_map_header h4{color:#444444}.epmst-blue2 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue2 div.b_ep_actualpage h1,.epmst-blue2 div.b_ep_actualpage h4{color:#444444}.epmst-blue2 div.b_pagination{float:none;position:static;width:100%}.epmst-blue2 div.b_pagination ul{margin:0}.epmst-blue2 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue2 div.b_pagination li span,.epmst-blue2 div.b_pagination li a,.epmst-blue2 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue2 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue2 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue2 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue2 div.b_eportfolio_page,.epmst-blue2 div.b_portfolio_toc,.epmst-blue2 div.b_eportfolio_edit{background-image:none}.epmst-blue2 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue3{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue3,ul.b_eportfolio_maps li.template.epmst-blue3{background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue3 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue3 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue3{margin-top:6px;background:#b3e2f7;background:#b3e2f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#b3e2f7), to(#b3e2f7));background:#b3e2f7 -moz-linear-gradient(43% 71% 101deg, #b3e2f7, #b3e2f7);background:#b3e2f7 -o-linear-gradient(#b3e2f7, #b3e2f7);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#b3e2f7', EndColorStr='#b3e2f7');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue3 div.b_map_header h4{color:#444444}.epmst-blue3 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue3 div.b_ep_actualpage h1,.epmst-blue3 div.b_ep_actualpage h4{color:#444444}.epmst-blue3 div.b_pagination{float:none;position:static;width:100%}.epmst-blue3 div.b_pagination ul{margin:0}.epmst-blue3 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue3 div.b_pagination li span,.epmst-blue3 div.b_pagination li a,.epmst-blue3 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue3 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue3 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue3 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue3 div.b_eportfolio_page,.epmst-blue3 div.b_portfolio_toc,.epmst-blue3 div.b_eportfolio_edit{background-image:none}.epmst-blue3 div.b_pagination li.b_changelog{float:right}}@media all{.epmst-blue4{font-family:Century Gothic, Apple Gothic, sans-serif}ul.b_eportfolio_maps li.epmst-blue4,ul.b_eportfolio_maps li.template.epmst-blue4{background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');border:1px solid #888888;border-left:3px solid rgba(85, 85, 85, 0.8);box-shadow:3px 3px 4px rgba(20, 20, 20, 0.4)}ul.b_eportfolio_maps .b_map_info p{color:black}ul.b_eportfolio_maps li.epmst-blue4 > h4{padding:20px 20px 4px 25px;background:rgba(255, 255, 230, 0.7) none;margin:0;-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;color:#444444}ul.b_eportfolio_maps li.epmst-blue4 > div.b_map_descr{padding:0 20px 20px 25px;background:rgba(255, 255, 230, 0.7) none;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.b_eportfolio_map.epmst-blue4{margin-top:6px;background:#dee7f7;background:#dee7f7 -webkit-gradient(linear, 37% 20%, 53% 100%, from(#dee7f7), to(#c1e9fd));background:#dee7f7 -moz-linear-gradient(43% 71% 101deg, #dee7f7, #c1e9fd);background:#dee7f7 -o-linear-gradient(#dee7f7, #c1e9fd);filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#dee7f7', EndColorStr='#c1e9fd');padding:30px;-webkit-border-top-right-radius:10px;-moz-border-radius-topright:10px;border-top-right-radius:10px}.epmst-blue4 div.b_map_header h4{color:#444444}.epmst-blue4 div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.epmst-blue4 div.b_ep_actualpage h1,.epmst-blue4 div.b_ep_actualpage h4{color:#444444}.epmst-blue4 div.b_pagination{float:none;position:static;width:100%}.epmst-blue4 div.b_pagination ul{margin:0}.epmst-blue4 div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-radius:7px 7px 0 0;-moz-border-radius:7px 7px 0 0;-o-border-radius:7px 7px 0 0;border-radius:7px 7px 0 0}.epmst-blue4 div.b_pagination li span,.epmst-blue4 div.b_pagination li a,.epmst-blue4 div.b_pagination li{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.epmst-blue4 div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.epmst-blue4 div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.epmst-blue4 div.b_pagination li a{padding:1em;padding:5px 8px}.epmst-blue4 div.b_eportfolio_page,.epmst-blue4 div.b_portfolio_toc,.epmst-blue4 div.b_eportfolio_edit{background-image:none}.epmst-blue4 div.b_pagination li.b_changelog{float:right}}li.default .b_map_info p{color:#bbb}li.comic .b_map_info p{color:#88a5c4}li.leather .b_map_info p{color:#C2A074}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}ul.b_eportfolio_maps li.leather{background:url(../openolat/images/portfolio/eportfolio_map_leather.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.leather a{color:#fad9a4}ul.b_eportfolio_maps li.comic{background:url(../openolat/images/portfolio/eportfolio_map_comic.png) top left no-repeat;border:none}ul.b_eportfolio_maps li.template.default{background-image:url(../openolat/images/portfolio/eportfolio_map_default_template.png)}ul.b_eportfolio_maps li.template.comic{background-image:url(../openolat/images/portfolio/eportfolio_map_comic_template.png)}ul.b_eportfolio_maps li.template.leather{background-image:url(../openolat/images/portfolio/eportfolio_map_leather_template.png)}.b_map_page{text-align:center;clear:left}.b_map_page_all{text-align:center}.b_map_page > span{padding-right:3px}.b_map_page a.b_map_page_forward{background:url(../openolat/images/arrow_right.png) no-repeat center right;padding-right:16px}.b_eportfolio_map{background:white;padding:1.5em;min-height:30em}.b_eportfolio_map .b_ep_relative{position:relative}.b_eportfolio_toolbar div{display:inline}.b_eportfolio_toolbar{text-align:right;width:100%;border-bottom:1px solid #acaaaa;padding:1px 2px 4px 2px;margin-bottom:6px}.b_eportfolio_map a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:right;display:inline;background-repeat:no-repeat;margin-left:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_toolbar a.b_eportfolio_add_link,.b_eportfolio_map a.b_eportfolio_del_link{float:none;display:inline-block;background-repeat:no-repeat;margin-left:0;margin-right:0.5em;width:16px;height:16px;text-decoration:none}.b_eportfolio_map div.b_eportfolio_add_link{float:left;display:inline;margin-top:2px}.o_ep_toc_editor .b_eportfolio_add_link{float:left}.b_eportfolio_map .b_eportfolio_add_link:hover{text-decoration:none}.b_eportfolio_map .b_eportfolio_comment_link{float:right;display:inline;margin-right:5px}.b_ep_tag_cloud{padding:1em 0 1em 0;border-bottom:1px solid #ccc}.b_eportfolio_page,.b_portfolio_toc,.b_eportfolio_edit,.b_eportfolio_changelog{min-height:40em;background:#f4f4f4 url(../openolat/images/portfolio/eportfolio_page_corner.png) top right no-repeat;padding:1em;-webkit-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-moz-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);-o-box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 2px 5px rgba(0, 0, 0, 0.2)}.b_eportfolio_page .b_eportfolio_structure > h5{border-bottom:1px solid #ddd;margin-top:1.2em}.b_eportfolio_edit{margin-top:1.5em}.b_eportfolio.b_artefacts hr.b_ep_filter_spacer{height:10px;background:url(../openolat/images/portfolio/divider-arrow-down.png) 25px -12px no-repeat;border:none;border-top:1px solid #ccc;margin:2em 0 1em}.b_eportfolio.b_artefacts .b_ep_content{background:white;padding:0 1em 1em 1em;margin-top:1.5em}.b_eportfolio.b_artefacts .b_ep_content .b_ep_filter{padding:0;width:80%}.b_ep_filter{float:left}.b_ep_viewmode{float:right;width:15%}.b_ep_add_artefact{float:right}.b_ep_content div.b_ep_viewmode div.b_form_element_label{width:auto}.b_eportfolio.b_artefacts div.b_segments_container{top:-20px;margin-bottom:-20px}.b_ep_tagbrowser{width:30%;margin-right:0px}.b_ep_tagbrowser_view{width:68%;margin-left:0px}.b_ep_collection_icon{background-image:url(../openolat/images/portfolio/ep_collection.png) !important}.b_ep_map_icon,.b_portfolio_toc .type_map{background-image:url(../openolat/images/portfolio/briefcase.png) !important}.b_ep_page_icon,.b_portfolio_toc .type_page{background-image:url(../openolat/images/portfolio/ep_page.png) !important}.b_ep_page_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_page_add.png) !important}.b_ep_struct_icon,.b_portfolio_toc .type_struct{background-image:url(../openolat/images/portfolio/ep_struct.png) !important}.b_ep_struct_icon.b_eportfolio_add_link{background-image:url(../openolat/images/portfolio/ep_struct_add.png) !important}.type_artefact{background-image:url(../openolat/images/le_resources/portfolio.png) !important}div.b_eportfolio_collect_restriction{margin-top:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_el{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link{float:left;margin-right:5px}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a{padding-left:0px;text-decoration:none}div.b_eportfolio_collect_restriction div.b_eportfolio_collect_restriction_link a:hover{text-decoration:none}div.b_form.b_eportfolio_tag_selector{min-width:40em}div.b_eportfolio_restriction_wrapper a.b_togglebox_opened{z-index:10;display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper a.b_togglebox_closed{display:block;width:20px;height:20px;padding:0;margin-left:12px}div.b_eportfolio_restriction_wrapper p{padding:0 0 0 15px;margin:0}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content{padding:3px 3px 3px 3px;margin:0;border:1px solid red;background-image:none;background-color:transparent;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px}div.b_eportfolio_restriction_error div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #FF9900 !important;background:#fff5cc url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_passed div.b_tooglebox_opened div.b_togglebox_content{border:1px solid #F0F0F0 !important;background:#fcfcfc url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 7px !important}div.b_eportfolio_restriction_error div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_warn.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_passed div.b_togglebox_closed{background:transparent url(../openolat/images/decorator/deco_ok.png) no-repeat 3px 5px !important}div.b_eportfolio_restriction_wrapper div.b_togglebox div.b_togglebox_content .b_togglebox_hide{display:none}.b_eportfolio_deadline_callout{width:300px}.b_ep_multiartefacts .b_c50l{clear:both}.b_eportfolio_fulltextsearch{float:left}.b_eportfolio_share_policy_wrapper{margin:5px;border:1px solid #ddd;padding:1em;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-ms-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-o-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%)}.b_eportfolio_share_policy_wrapper .b_float_right{text-align:right}.b_eportfolio_share_policy_wrapper a.bit-input{text-decoration:none}.b_eportfolio_share_policy div input,.b_eportfolio_share_policy div span,.b_eportfolio_share_policy div select{float:left;margin-right:5px;padding-right:5px}.b_eportfolio_share_policy div span.b_form_datechooser{background:url(../openolat/images/calendar.png) no-repeat;padding-left:18px;height:16px;line-height:16px;margin-left:2px}.b_eportfolio_share_policy .b_ep_share_date span{float:left}.b_eportfolio_share_policy_wrapper .b_eportfolio_share_policy{padding-left:20px;background:url(../openolat/images/user.png) top left no-repeat}.b_eportfolio_share_policy_wrapper.policytype_group .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}.b_eportfolio_share_policy_wrapper.policytype_invitation .b_eportfolio_share_policy{background-image:url(../openolat/images/share.png)}.b_eportfolio_share_policy_wrapper.policytype_allusers .b_eportfolio_share_policy{background-image:url(../openolat/images/users.png)}div.b_ep_inline div input,div.b_ep_inline div span,div.b_ep_inline div select{float:left;margin-right:5px;padding-right:5px}.default div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.default div.b_pagination{float:none;position:static;width:100%}.default div.b_pagination ul{margin:0}.default div.b_pagination li{float:left;display:inline;width:auto;margin:2px 2px 2px 0;padding:0;background:#FAFAFA;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.default div.b_pagination li a{padding:1em;padding:5px 8px}.default div.b_pagination li,.default div.b_pagination li span,.default div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.default div.b_pagination li.b_disabled{padding-bottom:2px;margin-bottom:0;background:#f4f4f4}.default div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.default div.b_pagination li.b_changelog{float:right}.default div.b_eportfolio_page,.default div.b_portfolio_toc,.default div.b_eportfolio_edit,.default div.b_eportfolio_changelog{background-image:none}.b_eportfolio_map.comic{background:#a2c3e8 none;padding:30px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:10px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:0;-moz-border-radius-topright:10px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:0;border-top-right-radius:10px;border-bottom-right-radius:0;border-bottom-left-radius:0}.comic{font-family:'Comic Sans MS', 'Comic Sans', fantasy}.comic div.b_pagination{position:absolute;right:0;width:16%;max-height:100%;overflow-x:hidden;overflow-y:auto;z-index:100}.comic .b_ep_relative > div:last-child{position:relative}.comic div.b_ep_actualpage{width:85%;margin-top:1em}.comic div.b_pagination ul{margin-top:30px;margin-left:0px;z-index:1}.comic div.b_pagination li{width:87%;background:url(../openolat/images/portfolio/postit.png) center right;padding:0;margin-bottom:1em;margin-left:8%;list-style-type:none}.comic div.b_pagination li span.b_disabled,.comic div.b_pagination li a span{display:block;padding:20px 15px 20px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li,.comic div.b_pagination li span,.comic div.b_pagination li a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.comic div.b_pagination li.b_disabled{z-index:101;margin-left:0;width:100%}.comic div.b_pagination li .b_disabled{color:black;font-weight:bold}.comic div.b_pagination li.b_toc,.comic div.b_pagination li.b_changelog{background-image:url(../openolat/images/portfolio/postit_pink.png)}.b_eportfolio_map.leather{background:url(../openolat/images/portfolio/light-leather-tile.jpg)}.leather{font-family:Palatino, Georgia, serif}.leather div.b_ep_actualpage{width:100%;margin-top:0;clear:both}.leather .b_map_header h4,.leather .b_map_header p,.leather .b_map_header a.b_eportfolio_add_link,.leather .b_map_header a.b_eportfolio_comment_link{color:white}.leather .b_eportfolio_mapowner{color:#fff}.leather div.b_pagination{float:none;position:static;width:100%}.leather div.b_pagination ul{margin:0}.leather div.b_pagination li{float:left;display:inline;width:auto;margin:0 2px 0 0;padding:0;background:#ddd;-webkit-border-top-left-radius:7px;-webkit-border-top-right-radius:7px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:7px;-moz-border-radius-topright:7px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:7px;border-top-right-radius:7px;border-bottom-right-radius:0;border-bottom-left-radius:0}.leather div.b_pagination li a{padding:1em;padding:5px 8px}.leather div.b_pagination li,.leather div.b_pagination li span,.leather div.b_pagination li a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-o-text-overflow:ellipsis}.leather div.b_pagination li.b_disabled{padding:0;background:#f4f4f4}.leather div.b_pagination li .b_disabled{color:black;font-weight:normal;padding:5px 8px}.leather div.b_pagination li.b_changelog{float:right}.leather div.b_eportfolio_page,.leather div.b_portfolio_toc,.leather div.b_eportfolio_edit,.leather div.b_eportfolio_changelog{background-image:none}div.o_module_cp_wrapper a.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}div.o_module_cp_wrapper div#o_local_fulltextsearch{position:absolute;top:0;right:0;z-index:10}div.o_module_cp_wrapper div#o_local_fulltextsearch div.b_form_element_wrapper.b_form_horizontal{margin:0}div.o_module_cp_wrapper div.o_cp_navigation{float:right;display:inline;padding:3px 0 3px 3px;background:#ebebeb;border:1px solid #ddd;white-space:nowrap;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;moz-box-shadow:0 1px 2px lightGrey;-ms-box-shadow:0 1px 2px lightGrey;-o-box-shadow:0 1px 2px lightGrey;-webkit-box-shadow:0 1px 2px lightGrey;box-shadow:0 1px 2px lightGrey}div.o_module_cp_wrapper div span a{margin:0 2px}div.o_module_cp_wrapper div span.b_disabled{display:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon{background-image:url("../openolat/images/arrow_left_big.png");text-decoration:none}div.o_module_cp_wrapper div span a.o_cp_previous_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_next_icon{background-image:url("../openolat/images/arrow_right_big.png")}div.o_module_cp_wrapper div span a.o_cp_next_icon span{display:none}div.o_module_cp_wrapper div span a.o_cp_print_icon{background-image:url("../openolat/images/printer.png")}div.o_module_cp_wrapper div span a.o_cp_print_icon span{display:none}div.o_module_cp_wrapper div.o_cp_navigation div,div.o_module_cp_wrapper div.o_cp_navigation form{display:inline}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix{display:inline;clear:none}div.o_module_cp_wrapper div.o_cp_navigation div.b_clearfix:after{display:inline;height:0;clear:none;visibility:hidden}#o_cpeditor_menu div.o_cpeditor_menu_tree{padding:10px 0 0 0}#b_col1 div.b_menu_toolbar a,#b_col3 div.b_menu_toolbar a{width:16px;height:16px;margin:3px;float:right;display:inline;background-repeat:no-repeat}a.o_cpeditor_import{background-image:url("../openolat/images/docs/document_upload.png")}a.o_cpeditor_new{background-image:url("../openolat/images/docs/document_add.png")}a.o_cpeditor_copy{background-image:url("../openolat/images/docs/document_copy.png")}a.o_cpeditor_delete{background-image:url("../openolat/images/docs/document_remove.png")}a.o_cpeditor_edit{background-image:url(../openolat/images/docs/document_metadata_edit.png)}a.o_cpeditor_preview{background-image:url(../openolat/images/docs/document_preview.png)}#o_cpeditor_content div.o_cpeditor_message{padding:20px}#o_qti_run div.b_button_group{text-align:left}#o_qti_run_title{text-align:right}#o_qti_run_title strong{float:left;display:inline}#o_qti_run.o_qti_survey #o_qti_run_title strong{background:url(../openolat/images/le_resources/survey.png) no-repeat left 50%;padding-left:20px}#o_qti_run.o_qti_test #o_qti_run_title strong{background:url(../openolat/images/le_resources/test.png) no-repeat left 50%;padding-left:20px;padding-top:2px;padding-bottom:2px}#o_qti_scoreinfo{float:left;display:inline;padding:.3em;border:1px solid silver;margin-right:1em}#o_qti_run_score{clear:both;margin:1em 0;padding:0 0 1.5em 0;font-size:90%}#o_qti_run_scoreinfo{float:left;display:inline}#o_qti_run_scoreprogress{float:left;display:inline;margin-left:1em}#o_qti_questioninfo{float:left;display:inline;padding:.3em;border:1px solid silver}#o_qti_run_questioninfo{float:left;display:inline;margin-left:1em}#o_qti_run_questionprogress{float:left;display:inline;margin-left:1em}#o_qti_run_status{clear:both}#o_qti_run_main{clear:both;border-top:1px solid #504D4E;margin:0.5em 0;padding:1em 0}#o_qti_run_menu_inner h4{font-size:100%}#o_qti_run_menu_inner ul{padding:0;margin:0;list-style:none}#o_qti_run_menu_inner li{clear:both;padding:0;margin:0;white-space:normal}#o_qti_run_menu_inner li.o_qti_menu_section{padding:1em 0}#o_qti_run_menu_inner li div.o_qti_menu_item,#o_qti_run_menu li div.o_qti_menu_section{float:left;display:inline;margin-right:10px}#o_qti_results td{padding:0}#b_main.o_editor_qti_correct{background-image:url(../openolat/images/qti/correct_bg.png);background-position:top left}#b_main.o_editor_qti{background-image:url(../openolat/images/edit_bg.png);background-position:top left}#o_qti_hints,#o_qti_solutions{margin:1em 0}#o_qti_hints a{background:url(../openolat/images/light-bulb.png) no-repeat left 50%;cursor:help;padding-left:20px}#o_qti_solutions a{background:url(../openolat/images/magnifier-zoom.png) no-repeat left 50%;cursor:help;padding-left:20px}.qti_response_level_feedback_label{margin-top:1em;font-style:italic}.qti_edit_layout{position:relative;padding-right:30px;margin-bottom:0.6em}.qti_edit_layout .edit_link{position:absolute;top:10px;right:0px}div.o_qti_item{margin-bottom:2em;margin-top:2em;line-height:2em}div.o_qti_item input.b_radio,div.o_qti_item input.b_checkbox{margin-left:1em}div.o_qti_item textarea{width:99%}img.o_qti_item_matimage{vertical-align:middle}div.o_qti_item_choice{display:table;margin:1em 0}div.o_qti_item_choice_option{display:table;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option_flow{display:table-cell;padding:.5em;border:1px solid transparent}div.o_qti_item_choice_option:hover{border:1px solid silver}div.o_qti_item_choice_option_flow:hover{border:1px solid silver}div.o_qti_item_choice_option_input{display:table-cell;vertical-align:middle;padding-right:.5em}div.o_qti_item_choice_option_input input{vertical-align:middle}div.o_qti_item_choice_option_value{display:table-cell}div.o_qti_item_choice_option_autoenum{display:table-cell;line-height:1.5em;width:1em;overflow:hidden;vertical-align:middle;color:silver;border:0;padding:0;margin:0}#o_qti_menu a{text-decoration:none}.o_qti_menu_section{padding:.3em;border-top:1px solid #ff6666}.o_qti_menu_section_clickable{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_section_clickable:hover{padding:.3em;border:1px solid silver;display:inline-block}.o_qti_menu_section_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item{padding:.3em;border:1px solid transparent;display:inline-block}.o_qti_menu_item_active{padding:.3em;border:1px dashed silver;display:inline-block}.o_qti_menu_item_active:hover{border:1px solid silver}.o_qti_menu_item_inactive{padding:.3em;border:1px solid transparent}.o_qti_menu_item:hover{border:1px solid silver}.o_qti_menu_item_closed{padding:.3em;border:1px solid transparent}.o_qti_menu_item_attempts_marked,.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=100);-moz-opacity:1;-khtml-opacity:1;opacity:1;color:silver;padding:.2em .4em;border:1px solid transparent;background:url(../openolat/images/flag.png) center right no-repeat;display:block;width:20px;height:12px}.o_qti_menu_item_attempts{zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=40);-moz-opacity:0.4;-khtml-opacity:0.4;opacity:0.4}.o_qti_menu_item_attempts:hover,.o_qti_menu_item_attempts_marked:hover{color:silver;border:1px solid silver;cursor:pointer}#o_qti_item_note{padding:0;margin:0;border:0;color:silver;font-family:inherit;font-size:1em;background:inherit;overflow:hidden}.o_qti_item_note_box{border:1px dashed silver;padding:.1em;margin:0;padding-left:.5em}div.o_qti_item_note_box_title{color:silver}div.o_qti_item_itemfeedback,div.o_qti_item_assessfeedback,div.o_qti_item_o_qti_item_sectionfeedback{margin:1em 0;background:url(../openolat/images/lightning.png) no-repeat left 50%;padding-left:20px}div.o_qti_item_objectives{margin:1em 0;background:url(../openolat/images/information-white.png) no-repeat left 50%;padding-left:20px;line-height:2em}.o_qti_timelimit_icon{background-image:url(../openolat/images/qti/time.png)}.o_qti_attemptslimit_icon{background-image:url(../openolat/images/qti/tries.png)}.o_qti_closed_icon{background-image:url(../openolat/images/qti/closed.png)}.o_mi_qtialientitem{background-image:url(../openolat/images/docs/document_plain.png)}.o_mi_qtisc{background-image:url(../openolat/images/qti/scItem.png)}.o_mi_qtimc{background-image:url(../openolat/images/qti/mcItem.png)}.o_mi_qtikprim{background-image:url(../openolat/images/qti/kprimItem.png)}.o_mi_qtifib{background-image:url(../openolat/images/qti/fibItem.png)}.o_mi_qtiessay{background-image:url(../openolat/images/qti/essayItem.png)}.o_mi_qtisection{background-image:url(../openolat/images/qti/section.png)}.o_mi_iqtest{background-image:url(../openolat/images/le_resources/test.png)}.o_mi_iqsurv{background-image:url(../openolat/images/le_resources/survey.png)}.onyx_iframe{width:100%;height:100%;border:none;min-height:60em}div.b_translation_start div.b_translation_start_body,div.b_translation_edit div.b_translation_edit_body{margin-top:0.5em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package{margin-bottom:0.5em;padding:1em 0 0.5em 0;border-bottom:1px solid #ACAAAA}div.b_translation_list div.b_translation_list_package div.b_translation_package_icon{margin-bottom:0.5em;border-bottom:1px solid #ACAAAA}div.b_translation_edit div.b_button_group{text-align:center;margin:1em 0 0 0}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_bar{float:left;display:inline}div.b_translation_edit div.b_translation_edit_head div.b_progress div.b_progress_label{float:left;display:inline;padding:0 0 0 1em;font-size:90%;font-style:italic}div.b_translation_edit div.b_translation_edit_body textarea{width:99%}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_annotation{margin-top:1em}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_compare{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_translation_edit_body div.b_translation_edit_target{margin-top:1em;padding-top:0.5em;border-top:1px solid #ACAAAA}div.b_translation_edit div.b_form_element textarea.b_form_element_disabled{color:#000;background:#EEEEEE;border:1px solid #CDCBCB}div.b_translation_edit div.b_translation_edit_annotation h5{font-weight:normal;font-size:100%;font-style:italic}div.b_translation_edit div.b_translation_edit_annotation textarea{font-style:italic}div.b_translation_edit div.b_translation_refKey{background-image:url(../openolat/images/magnifier-zoom.png);vertical-align:middle;background-color:#eee;border:1px solid #ACAAAA;margin-right:1%}div.b_translation_edit div.b_translation_refKey code{line-height:1em;vertical-align:middle}div.b_translation_edit div.b_translation_refKey span{line-height:1em;font-style:italic}div.b_translation_config span.b_translation_status,ul.b_translation_status span.b_translation_status{position:absolute;right:1em}ul.b_translation_status{column-count:2;-moz-column-count:2;list-style:none}ul.b_translation_status li{position:relative}.b_translation_package_icon{background-image:url(../openolat/images/folder_open.png) !important}.b_translation_item_icon{background-image:url(../openolat/images/docs/document-node.png) !important}.b_translation_search_icon{background-image:url(../openolat/images/magnifier-zoom.png) !important}span.b_translation_i18nitem{position:relative !important}span.b_translation_i18nitem a.b_translation_i18nitem_launcher{position:absolute !important;z-index:100 !important;width:16px !important;height:16px !important;top:0 !important;left:5px !important;background:#eeeeee url(../openolat/images/docs/document_metadata_edit.png) no-repeat !important;border:1px solid #6e6e6e !important;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;padding:0 !important}div.b_selectiontree{font-size:95%}div.b_selectiontree div.b_selectiontree_item{clear:both;position:relative;top:0;left:0;vertical-align:middle;height:16px;width:auto}div.b_selectiontree div.b_selectiontree_item div{width:16px;height:16px;float:left;display:inline;background-repeat:no-repeat}div.b_selectiontree div.b_selectiontree_item div.b_selectiontree_content{float:left;display:inline;margin-left:0.5em;width:auto;white-space:nowrap}div.b_selectiontree div.b_selectiontree_content{width:auto}div.b_selectiontree div.b_selectiontree_content div{width:auto}div.b_selectiontree div.b_selectiontree_content input{width:1em;height:1em;padding:0;margin:0 0.5em;vertical-align:middle}div.b_selectiontree div.b_selectiontree_content input.b_radio{margin:0}div.b_selectiontree .b_selectiontree_line{background-image:url(../openolat/images/tree/dots.gif)}div.b_selectiontree .b_selectiontree_space{background-image:url(../openolat/images/tree/dots_spacer.gif)}div.b_selectiontree .b_selectiontree_junction{background-image:url(../openolat/images/tree/dots_nt.gif)}div.b_selectiontree .b_selectiontree_end{background-image:url(../openolat/images/tree/dots_nl.gif)}#b_main.o_editor #b_col3{background-image:url(../openolat/images/edit_bg.png);background-position:top left;background-repeat:repeat}#b_main.o_editor div.b_tabbedpane_wrapper div.b_tabbedpane_content{background:#fff}#b_main_toolbar.o_course_breadcumbs div.b_breadcumb_path ul li.b_first{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}a.b_preview{background-image:url(../openolat/images/docs/document_preview.png);background-repeat:no-repeat;background-position:left;padding:2px 0 2px 20px}fieldset a.b_preview,div.b_tabbedpane_wrapper a.b_preview{position:absolute}div.b_module_singlepage_wrapper a.b_content_edit{position:absolute;top:0;right:20px;display:inline;background:url(../openolat/images/docs/document--pencil.png) no-repeat top left;width:16px;height:16px;margin:3px}div.b_module_singlepage_wrapper a.b_content_download{position:absolute;top:0;z-index:10;background:url(../openolat/images/docs/document_download.png) no-repeat top left;padding-left:20px;margin-top:3px;min-height:19px;height:19px}div.b_titled_wrapper div.b_module_singlepage_wrapper a.b_content_download{position:relative;padding-bottom:3px}div.b_titled_wrapper div.b_module_singlepage_wrapper div.b_iframe_wrapper{margin-top:3px}#b_content_popup{float:right;background:url(../openolat/images/applications.png) no-repeat top left;width:16px;height:16px;margin:3px}#o_course_editor_errorbox{font-size:90%;padding:3px 2px 2px 25px;margin:0 0 1em 0}div.o_courseeditor_legend{margin-top:3em}div.o_courseeditor_legend strong{font-weight:bold}div.o_courseeditor_legend div{top:0;left:0;padding-left:12px;background-repeat:no-repeat;background-position:0 50%}div.o_buttons_box_right{position:absolute;top:0;right:0}div.o_course_run div.o_course_run_displaytitle{font-style:italic}div.o_course_run div.o_course_run_objectives{background-color:#E9EAEF;padding:5px 5px 5px 25px;margin:0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_scoreinfo{background:#e9eaef url(../openolat/images/seal.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer{background:#e9eaef url(../openolat/images/information-white.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_groupinfo{background:#e9eaef url(../openolat/images/users.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_statusinfo{background:url(../openolat/images/bullet_go.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_returnbox{background:#e9eaef url(../openolat/images/box_return.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_dropbox{background:#e9eaef url(../openolat/images/box_drop.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_solutionbox{background:#e9eaef url(../openolat/images/box_solution.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_task{background:#e9eaef url(../openolat/images/assign.png) no-repeat 5px 5px;padding:5px 5px 5px 25px;margin:1.5em 0;border:1px solid #C5C4C4;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run div.o_course_run_disclaimer h4,div.o_course_run div.o_course_run_objectives h4,div.o_course_run div.o_course_run_scoreinfo h4,div.o_course_run div.o_course_run_returnbox h4,div.o_course_run div.o_course_run_dropbox h4,div.o_course_run div.o_course_run_solutionbox h4,div.o_course_run div.o_course_run_task h4,div.o_course_run div.o_course_run_log h4{font-size:100%;margin:0 0 1em 0}div.o_course_run div.o_course_run_scoreinfo_noinfo{font-style:italic;font-weight:bold}div.o_course_run div.o_course_run_toc{margin:1em 0 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{margin:0 0 1em 0;padding:1em 20px 0 0}div.o_course_run div.o_course_run_toc div.o_course_run_shorttitle{border-bottom:1px solid #ACAAAA}div.o_course_run div.o_course_run_toc div.o_course_run_displaytitle{margin-top:0.5em;color:#aaaaaa}div.o_course_run div.o_course_run_toc div.o_course_run_objectives{margin:1em 0 1em 0;border:0;background:none}div.o_course_run div.o_course_run_toc div.o_course_run_toc_entry{background:#FBFBFB;padding:5px;border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}div.o_course_run #b_content_popup{position:absolute;top:0;right:0}div.o_sp_peekview{margin:1em 0 1em 0}div.o_sp_peekview ul{list-style:none}div.o_sp_peekview li{margin-top:0.5em}div.o_peekview_author{padding:3px 0 5px 0;font-style:italic;color:#aaaaaa;font-size:90%}#b_preview_wrapper{clear:both;padding:10px;background:#fff;border-bottom:1px solid #ff6666}#b_main.b_preview{moz-box-shadow:0 0 0 white;-ms-box-shadow:0 0 0 white;-o-box-shadow:0 0 0 white;-webkit-box-shadow:0 0 0 white;box-shadow:0 0 0 white;background:white url(../openolat/images/prevbg.png) repeat}body.b_full_screen{background-color:white;background-image:none}body.b_full_screen #b_page_margins{display:none}body.b_full_screen div.b_modal_area{margin:2%;width:96%}body.b_full_screen div#b_preview_wrapper{margin:0;border:0;padding:0;background:#5e5e5e;background:-moz-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5e5e5e), color-stop(50%, #444444), color-stop(51%, #222222), color-stop(100%, #3c3c3c));background:-webkit-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-o-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:-ms-linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%);background:linear-gradient(top, #5e5e5e 0%, #444444 50%, #222222 51%, #3c3c3c 100%)}body.b_full_screen div#b_preview_wrapper div.b_preview_link{border:none}body.b_full_screen div#b_preview_wrapper div.b_preview_link a.b_link_back{margin:0.5em}body.b_full_screen div#b_preview_wrapper div.b_preview_link div.b_preview_wrapper_loading{background:transparent url(../openolat/images/ajax-loader.gif) no-repeat top left}div#b_preview_wrapper div#b_preview_wrapper_message{float:right;padding-left:16px;width:100px}div.o_scorm a.b_link_close{padding-right:20px}div.o_scorm div.o_scorm_navigation{float:right;display:inline;padding:3px;background:#fefefe;background:-moz-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(50%, #e3e3e3), color-stop(51%, #cfcfcf), color-stop(100%, #f3f3f3));background:-webkit-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-o-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:-ms-linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);background:linear-gradient(top, #fefefe 0%, #e3e3e3 50%, #cfcfcf 51%, #f3f3f3 100%);border:1px solid #504D4E;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;margin:0.2em}div.o_scorm div.o_scorm_navigation a{margin:0 2px}div.o_scorm div.o_scorm_navigation a.o_scorm_previous_icon{background-image:url(../openolat/images/arrow_left_big.png)}div.o_scorm div.o_scorm_navigation a.o_scorm_next_icon{background-image:url(../openolat/images/arrow_right_big.png)}div.o_scorm div.o_scorm_navigation a.hover{background-color:none}.o_scorm_completed,.o_scorm_passed{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_ok.png")}.o_scorm_failed{top:6px;left:6px !important;background-image:url("../openolat/images/decorator/deco_error.png")}.o_scorm_incomplete{top:6px;left:6px;background-image:url("../openolat/images/decorator/deco_warn.png")}.o_scorm_not_attempted{top:6px;left:6px;background-image:none}div.o_members_search{padding-top:10px;padding-left:10px}div.filters{text-align:center;padding-top:1.5em}div.o_members_search div.searchitem{margin-bottom:0.5em}div.searchitem select,div.searchitem input{width:250px}.o_members_register{margin-bottom:5px}.o_members_register_active{font-weight:bold;font-size:120%}div.o_members_paging{width:100%;padding-bottom:1em;padding-top:0.5em;text-align:center}div.o_members_paging div{padding-left:1em;padding-right:1em;display:inline}div.o_bcard{background-color:#eee;margin-top:10px;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.o_bcard_header,div.o_members_header{padding:6px;border-bottom:1px solid #fff}div.o_bcard_portrait{float:left;display:inline;width:100px;height:100px;margin:10px}div.o_bcard_portrait img{border:1px #d3d3d3 solid}div.o_bcard_portrait_group{background-image:url(../openolat/images/group_100x100.png);border:1px #d3d3d3 solid}div.o_bcard_text{margin-left:120px;margin-top:10px;line-height:150%}div.o_bcard_footer{text-align:right;clear:both;font-size:95%;color:#1f49b3;padding:5px}.popup_iframe{width:100%;height:100%;border:none;min-height:60em}div.o_reservation{position:relative;padding-bottom:15px}div.o_reservation span.o_reservation_name{padding-left:20px}div.o_reservation span.o_reservation_accepted{background:transparent url(../openolat/images/tick.png) top left no-repeat}div.o_reservation span.o_reservation_refused{background:transparent url(../openolat/images/cross.png) top left no-repeat}div.o_reservation div.o_reservation_details{padding:5px 0 0 20px}div.o_reservation ul{list-style:none}div.o_reservation ul li{background-repeat:no-repeat}div.o_infomsgs{padding-top:5px}div.o_infomsgs div.b_datecomp{top:2px;float:left;display:inline}div.o_infomsgs div.o_infomsg{margin-bottom:1em;padding:10px 0 0 0}div.o_infomsgs .b_year{display:none}div.o_infomsgs .o_item_info{color:#7D7D7D;font-size:90%}div.o_infomsgs .o_item_info .o_item_info_mod{color:#98221F}div.b_table_wrapper td a.o_peekview_infomsg_link{display:inline}div.o_infomsgs_config{padding-bottom:5px}div.o_infomsgs_config div{display:inline}.o_infomsg_icon{background-image:url(../openolat/images/information-button.png)}.o_infomsg_create_button{position:absolute;top:0;right:250px}.b_mail_icon{background-image:url(../openolat/images/mail.png)}div.b_mail_message div.b_form_element_wrapper:first-child div.b_form_element{font-weight:bold}.b_mail_new{width:20px !important;background-image:url(../openolat/images/new-text.png)}.b_table_wrapper span.b_mail_unread{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/bullet_black.png) top left no-repeat}.b_table_wrapper span.b_mail_read{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper span.b_mail_marked{display:block;display:inline-block;width:16px;height:16px;background:transparent url(../openolat/images/flag.png) top left no-repeat}.b_table_wrapper span.b_mail_unmarked{display:block;display:inline-block;width:16px;height:16px}.b_table_wrapper .b_marked{font-weight:bold}ul.b_mail_attachments{list-style:none;margin:0;padding:0}ul.b_mail_attachments li{margin:0}div.o_cmembers *{vertical-align:middle}div.o_cmembers div.o_cmember{float:left;width:30%;height:50px;overflow:hidden;margin:5px 5px 5px 0;padding:8px;border:1px solid #ddd;background:#f6f6f6;background:-moz-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f6f6), color-stop(100%, #ebebeb));background:-webkit-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-o-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:-ms-linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);background:linear-gradient(top, #f6f6f6 0%, #ebebeb 100%);border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.o_cmembers div.o_cmember *{vertical-align:middle}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper{background-color:white;float:left;height:100%;width:50px;overflow:hidden;margin-right:5px;border:1px solid #ddd}div.o_cmembers div.o_cmember .o_cmember_portrait_wrapper img.o_cmember_portrait{background-color:white;min-width:50px;background-position:50% 50%;background-repeat:no-repeat}div.o_cmembers div.o_cmember .o_cmember_info_wrapper{padding:16px 0px}div.o_cmembers a.o_cmembers_mail{float:none;margin-left:5px;padding-left:20px;background-image:url(../openolat/images/mail.png)}div.o_cmembers a.o_cmembers_mail span{display:none}div.o_cmembers h4{padding:7px 0 0 0;clear:both}div.o_ll_container ul li{list-style:circle;margin:1em}div.o_ll_container ul li div{font-style:italic}a.o_ll_browse span{display:block;width:20px;height:18px;background:url(../openolat/images/library.png) top left no-repeat;margin-left:1px}div.b_datecomp{width:2.5em;height:3em;position:relative;margin-right:5px;font-weight:normal;color:white;text-align:center;vertical-align:middle;border:1px solid #000;font-size:85%}div.b_datecomp div{width:100%;position:absolute;left:0}div.b_datecomp div.b_year{height:1em;top:-1.5em;font-size:80%;font-weight:normal;color:#000}div.b_datecomp div.b_month{background:#BE5B5D;height:40%;top:0;font-size:80%;font-weight:normal;color:white}div.b_datecomp div.b_day{background:#fff;height:60%;bottom:0;font-size:120%;font-weight:bold;color:#000;border-top:1px solid #000;border-bottom:1px solid #aaaaaa}.b_content_download{background:url("../openolat/images/drive-download.png") no-repeat top left;padding-left:20px;margin:3px;display:block;min-height:16px}img.o_portrait_dummy{background-image:url(../openolat/images/dummy.png);width:100px;height:100px}img.o_portrait_dummy_small{background-image:url(../openolat/images/dummy_small.png)}img.o_portrait_dummy_female_big{background-image:url(../openolat/images/dummy_female_big.png);width:100px;height:100px}img.o_portrait_dummy_female_small{background-image:url(../openolat/images/dummy_female_small.png)}img.o_portrait_dummy_male_big{background-image:url(../openolat/images/dummy_male_big.png);width:100px;height:100px}img.o_portrait_dummy_male_small{background-image:url(../openolat/images/dummy_male_small.png)}ul.o_sel_repository_owners{list-style:none;margin:0;padding:0;white-space:nowrap}ul.o_sel_repository_owners li{margin:0}div.fx_portal_admin{margin-top:10px}div.fx_portlets_column{width:30%;float:left;margin-right:10px}div.fx_portlets_column div.b_portlet{min-height:1em}div.fx_portlets_column_name{padding:5px 5px 0px 5px}div.fx_portlets_column_name span{color:#4F576A;font-weight:bold;text-deocration:underline}div.fx_portlets_column_portlets{border:1px solid #eee;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}div.fx_available_portlets{width:28%;float:right}div.fx_available_portlets div.b_portlet{min-height:1em}div.fx_portlets_admin_column{min-height:12em}div.fx_site_admin_column{float:left}div.fx_site_admin_column div.fx_site_definition{min-height:1em}div.o_notifications_news_datechooser{border-bottom:1px solid #bbb;padding:1em 0 1em 0}div.o_notifications_news_datechooser label{padding-right:1em}div.o_notifications_news_subscription{margin:1.5em 0 2em 0}div.o_notifications_news_subscription h4{font-size:110%}div.o_notifications_news_subscription h4.o_returnbox_icon{background-image:url(../openolat/images/box_return.png) !important}div.o_notifications_news_context{color:#7D7D7D;font-size:90%}div.o_notifications_news_content{margin:0.5em 0 0.5em 0}div.o_notifications_news_content ul{list-style-type:none;margin:0}#o_search_form{margin:5px;position:relative}#o_search_form_toggler{background-image:url(../openolat/images/magnifier-zoom.png);cursor:pointer}#o_search_form_content div.b_form div.b_form_element_wrapper div.b_form_element_wrapper{margin:0.5em 0}#o_search_form div.b_contexthelp_wrapper a.b_contexthelp{right:0}#o_search_results{border-top:1px solid #eee;margin:5px}#o_search_results_header{line-height:16px;vertical-align:middle;background:url(../openolat/images/magnifier-zoom.png) no-repeat center left #f8f8f8;padding:2px 2px 2px 20px;margin-bottom:5px}#o_search_results_header div.o_search_results_stats{float:right;display:inline;font-size:90%}#o_search_results_header span.o_search_highlight{padding-left:2em}#o_search_results_header.o_search_did_you_mean,#o_search_results_header.o_search_no_results{background-image:url(../openolat/images/exclamation.png);color:#990000}#o_search_results_header.o_search_did_you_mean span.o_search_did_you_mean_words{color:#000;font-weight:bold}#o_search_results_header #o_search_pageing{padding-left:2em;display:inline}#o_search_pageing_bottom{text-align:center;background:#F8F8F8;border-bottom:1px solid #eee;padding:3px}#o_search_results_toomany{background:url(../openolat/images/exclamation.png) no-repeat center left #f8f8f8;color:#990000;padding:5px 0 3px 20px;position:relative;top:-5px;margin-bottom:5px}div.o_search_result{margin:0 0 1em 0;padding:1em 0 0 0}div.o_search_result_title a{font-weight:bold}div.o_search_result_title a.o_search_result_details_link{margin-left:1em;font-weight:normal;font-size:90%;vertical-align:bottom}div.o_search_result_excerpt{padding:2px 0 1px 0;font-size:95%;max-width:60em}div.o_search_result_excerpt span.o_search_result_highlight{font-weight:bold;background-color:#FFFF80}div.o_search_result_context,div.o_search_result_author,div.o_search_result_lastmod,div.o_search_result_type,div.o_search_result_desc{padding:1px 0;font-size:90%;color:#667}a.o_fulltext_search_button{background:url(../openolat/images/magnifier-zoom.png) top left no-repeat}div.error-box{width:400px;margin:30px auto;padding:20px;border:2px solid red;border-radius:6px;background:white;moz-box-shadow:0 2px 4px #cccccc;-ms-box-shadow:0 2px 4px #cccccc;-o-box-shadow:0 2px 4px #cccccc;-webkit-box-shadow:0 2px 4px #cccccc;box-shadow:0 2px 4px #cccccc;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-o-border-radius:6px}div.error-box h1{background-image:url(../openolat/images/icon_warning_32.png);background-repeat:no-repeat;padding-left:30px;font-size:14pt;font-weight:bold}.b_tag_list{background:url(../openolat/images/tag-label-yellow.png) 0px 3px no-repeat !important}.b_tag_icon{background-image:url(../openolat/images/tag-label-yellow.png)}div.b_tags{margin:2em 0}div.b_tags div{padding:0.5em 0 0 20px}div.b_tags span.b_tag{font-size:80%;padding:5px 2px 5px 2px;line-height:3em;white-space:nowrap}*:first-child + html div.holder{padding-bottom:2px}* html div.holder{padding-bottom:2px}.textbox-outer{list-style-type:none;margin-left:0em}a.bit-box,span.b_tag{-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #CAD8F3;background:#DEE7F8;padding:1px 5px 2px;padding-right:15px;position:relative}div.holder{font-size:80%;min-width:200px;width:auto;margin:0;overflow:hidden;height:auto !important;height:1%;padding:0px 0px 0;cursor:text}div.holder a{float:left;margin:0 5px 4px 0}div.holder a.bit{text-decoration:none;color:black}div.holder a.bit:active,div.holder a.bit:focus{outline:none}div.holder a.bit-box-focus{border-color:#598BEC;background:#598BEC;color:#fff}div.holder a.bit-input .maininput{border:1px solid #eeeeee}div.holder a.bit-input input{width:100px;margin:0;border:none;background:white;outline:0;padding:3px 0 2px}div.holder a.bit-input input.smallinput{width:20px}div.holder a.bit-hover{background:#BBCEF1;border:1px solid #6D95E0}div.holder a.bit-box-focus{background:#598BEC;color:#fff}div.holder a.bit-box a.closebutton{position:absolute;right:0;top:5px;display:block;width:7px;height:7px;font-size:1px;background:url("../openolat/images/tag_x.gif")}div.holder a.bit-box a.closebutton:hover{background-position:7px}div.holder a.bit-box a.closebutton:active{outline:none}div.holder a.bit-box-focus a.closebutton,div.holder a.bit-box-focus a.closebutton:hover{background-position:bottom}ol.textbox-outer{margin:0;padding:0}.textboxlist-auto{position:absolute;width:300px;overflow:visible;display:none;background:#eee;z-index:2}.textboxlist-auto .default{padding:5px 7px;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul{display:none;margin:0;padding:0;overflow:auto}.textboxlist-auto ul li{padding:5px 12px;z-index:1000;cursor:pointer;margin:0;list-style-type:none;border:1px solid #ccc;border-width:0 1px 1px}.textboxlist-auto ul li.loading-indicator{padding-left:30px;background-position:5px center;cursor:defat;font-size:100.01% !important;line-height:1.5em}.textboxlist-auto ul li.more-indicator{cursor:defat;font-style:italic}.textboxlist-auto ul li em{font-weight:bold;font-style:normal;background:#ccc}.textboxlist-auto ul li.auto-focus{background:#4173CC;color:#fff}.textboxlist-auto ul li.auto-focus em{background:none}input.inputMessage{color:#AAA;font-size:11px}.b_wizard .textbox-outer{background:url(../openolat/images/tag-label-yellow.png) top left no-repeat}.b_wizard .textbox-outer li{margin-left:18px}.b_wizard .textboxlist-auto ul li{margin-left:0}.b_wizard div.holder a.bit-input input{background:#f8f8f8;padding:0.4em}.clgen_font_arial{font-family:arial,helvetica}.clgen_font_arial_black{font-family:arial black,avant garde}.clgen_font_comic{font-family:comic sans ms,sans-serif}.clgen_font_courier{font-family:courier new,courier}.clgen_font_georgia{font-family:georgia,serif}.clgen_font_impact{font-family:impact,chicago}.clgen_font_lucida{font-family:lucida console,monaco,monospace}.clgen_font_palatino{font-family:palatino linotype,book antiqua,palatino,serif}.clgen_font_times{font-family:times new roman,times}.clgen_font_verdana{font-family:verdana,geneva,sans-serif}.clgen_font_xxlarge{font-size:130%}.clgen_font_xxsmall{font-size:70%}option.Black{background-color:Black}option.Navy{background-color:Navy}option.DarkBlue{background-color:DarkBlue}option.MediumBlue{background-color:MediumBlue}option.Blue{background-color:Blue}option.DarkGreen{background-color:DarkGreen}option.Green{background-color:Green}option.Teal{background-color:Teal}option.DarkCyan{background-color:DarkCyan}option.DeepSkyBlue{background-color:DeepSkyBlue}option.DarkTurquoise{background-color:DarkTurquoise}option.MediumSpringGreen{background-color:MediumSpringGreen}option.Lime{background-color:Lime}option.SpringGreen{background-color:SpringGreen}option.Aqua{background-color:Aqua}option.Cyan{background-color:Cyan}option.MidnightBlue{background-color:MidnightBlue}option.DodgerBlue{background-color:DodgerBlue}option.LightSeaGreen{background-color:LightSeaGreen}option.ForestGreen{background-color:ForestGreen}option.SeaGreen{background-color:SeaGreen}option.DarkSlateGray{background-color:DarkSlateGray}option.DarkSlateGrey{background-color:DarkSlateGrey}option.LimeGreen{background-color:LimeGreen}option.MediumSeaGreen{background-color:MediumSeaGreen}option.Turquoise{background-color:Turquoise}option.RoyalBlue{background-color:RoyalBlue}option.SteelBlue{background-color:SteelBlue}option.DarkSlateBlue{background-color:DarkSlateBlue}option.MediumTurquoise{background-color:MediumTurquoise}option.Indigo{background-color:Indigo}option.DarkOliveGreen{background-color:DarkOliveGreen}option.CadetBlue{background-color:CadetBlue}option.CornflowerBlue{background-color:CornflowerBlue}option.MediumAquaMarine{background-color:MediumAquaMarine}option.DimGray{background-color:DimGray}option.DimGrey{background-color:DimGrey}option.SlateBlue{background-color:SlateBlue}option.OliveDrab{background-color:OliveDrab}option.SlateGray{background-color:SlateGray}option.SlateGrey{background-color:SlateGrey}option.LightSlateGray{background-color:LightSlateGray}option.LightSlateGrey{background-color:LightSlateGrey}option.MediumSlateBlue{background-color:MediumSlateBlue}option.LawnGreen{background-color:LawnGreen}option.Chartreuse{background-color:Chartreuse}option.Aquamarine{background-color:Aquamarine}option.Maroon{background-color:Maroon}option.Purple{background-color:Purple}option.Olive{background-color:Olive}option.Gray{background-color:Gray}option.Grey{background-color:Grey}option.SkyBlue{background-color:SkyBlue}option.LightSkyBlue{background-color:LightSkyBlue}option.BlueViolet{background-color:BlueViolet}option.DarkRed{background-color:DarkRed}option.DarkMagenta{background-color:DarkMagenta}option.SaddleBrown{background-color:SaddleBrown}option.DarkSeaGreen{background-color:DarkSeaGreen}option.LightGreen{background-color:LightGreen}option.MediumPurple{background-color:MediumPurple}option.DarkViolet{background-color:DarkViolet}option.PaleGreen{background-color:PaleGreen}option.DarkOrchid{background-color:DarkOrchid}option.YellowGreen{background-color:YellowGreen}option.Sienna{background-color:Sienna}option.Brown{background-color:Brown}option.DarkGray{background-color:DarkGray}option.DarkGrey{background-color:DarkGrey}option.LightBlue{background-color:LightBlue}option.GreenYellow{background-color:GreenYellow}option.PaleTurquoise{background-color:PaleTurquoise}option.LightSteelBlue{background-color:LightSteelBlue}option.PowderBlue{background-color:PowderBlue}option.FireBrick{background-color:FireBrick}option.DarkGoldenRod{background-color:DarkGoldenRod}option.MediumOrchid{background-color:MediumOrchid}option.RosyBrown{background-color:RosyBrown}option.DarkKhaki{background-color:DarkKhaki}option.Silver{background-color:Silver}option.MediumVioletRed{background-color:MediumVioletRed}option.IndianRed{background-color:IndianRed}option.Peru{background-color:Peru}option.Chocolate{background-color:Chocolate}option.Tan{background-color:Tan}option.LightGray{background-color:LightGray}option.LightGrey{background-color:LightGrey}option.PaleVioletRed{background-color:PaleVioletRed}option.Thistle{background-color:Thistle}option.Orchid{background-color:Orchid}option.GoldenRod{background-color:GoldenRod}option.Crimson{background-color:Crimson}option.Gainsboro{background-color:Gainsboro}option.Plum{background-color:Plum}option.BurlyWood{background-color:BurlyWood}option.LightCyan{background-color:LightCyan}option.Lavender{background-color:Lavender}option.DarkSalmon{background-color:DarkSalmon}option.Violet{background-color:Violet}option.PaleGoldenRod{background-color:PaleGoldenRod}option.LightCoral{background-color:LightCoral}option.Khaki{background-color:Khaki}option.AliceBlue{background-color:AliceBlue}option.HoneyDew{background-color:HoneyDew}option.Azure{background-color:Azure}option.SandyBrown{background-color:SandyBrown}option.Wheat{background-color:Wheat}option.Beige{background-color:Beige}option.WhiteSmoke{background-color:WhiteSmoke}option.MintCream{background-color:MintCream}option.GhostWhite{background-color:GhostWhite}option.Salmon{background-color:Salmon}option.AntiqueWhite{background-color:AntiqueWhite}option.Linen{background-color:Linen}option.LightGoldenRodYellow{background-color:LightGoldenRodYellow}option.OldLace{background-color:OldLace}option.Red{background-color:Red}option.Fuchsia{background-color:Fuchsia}option.Magenta{background-color:Magenta}option.DeepPink{background-color:DeepPink}option.OrangeRed{background-color:OrangeRed}option.Tomato{background-color:Tomato}option.HotPink{background-color:HotPink}option.Coral{background-color:Coral}option.Darkorange{background-color:Darkorange}option.LightSalmon{background-color:LightSalmon}option.Orange{background-color:Orange}option.LightPink{background-color:LightPink}option.Pink{background-color:Pink}option.Gold{background-color:Gold}option.PeachPuff{background-color:PeachPuff}option.NavajoWhite{background-color:NavajoWhite}option.Moccasin{background-color:Moccasin}option.Bisque{background-color:Bisque}option.MistyRose{background-color:MistyRose}option.BlanchedAlmond{background-color:BlanchedAlmond}option.PapayaWhip{background-color:PapayaWhip}option.LavenderBlush{background-color:LavenderBlush}option.SeaShell{background-color:SeaShell}option.Cornsilk{background-color:Cornsilk}option.LemonChiffon{background-color:LemonChiffon}option.FloralWhite{background-color:FloralWhite}option.Snow{background-color:Snow}option.Yellow{background-color:Yellow}option.LightYellow{background-color:LightYellow}option.Ivory{background-color:Ivory}option.White{background-color:White}#o_feed .o_box{border:1px solid #eee;padding:0.8em;margin-bottom:2em;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%);border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px}#o_feed div.o_feed_edit{float:right;position:relative;top:0.2em;margin-right:0}#o_feed #o_link_container{margin-bottom:0.8em}#o_feed #o_link_container div.o_home{text-align:center}#o_feed #o_link_container div.o_older_items{float:left;display:inline}#o_feed #o_link_container div.o_newer_items{float:right;display:inline}#o_feed .b_year_navigation{text-align:center}#o_feed .b_year_navigation .b_months{border-top:1px solid #eee;padding-top:1em;margin-top:0.5em;clear:both;list-style:none}#o_feed .b_year_navigation span.b_disabled{background-image:none}div.o_feed_peekview{margin:1em 0 1em 0}div.o_feed_peekview h5{font-size:1em;position:relative;left:-20px}div.o_feed_peekview div.o_feed_peekview_item{padding-left:20px}#o_feed div.b_datecomp{top:2px;float:left;display:inline}#o_feed p.o_podcast_date{font-size:80%;color:#aaaaaa}#o_feed div.o_podcast_info img.icon{float:left;margin:0 1.5em 1.5em 0;max-width:120px;max-height:120px}#o_feed div.o_podcast_no_image{float:left;margin:0 1em 1em 0;width:100px;height:100px;color:#dfdfdf;background:white;text-align:center;padding:20px;border:2px dashed #dfdfdf;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_no_image span{vertical-align:middle}#o_feed div.o_podcast_subscription{clear:both}#o_feed div.o_podcast_subscription a.o_podcast_rss_link{display:block;float:right;width:16px;height:16px;background:url(../openolat/images/feed.png) no-repeat}#o_feed div.o_podcast_episode{padding:10px;margin-top:20px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}#o_feed div.o_podcast_episode div.b_ratings_and_comments{margin:2em 0 0 0;padding-bottom:0;border-bottom:0}#o_feed div.o_podcast_episode div.o_podcast_audio{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_audio embed{width:200px;height:24px}#o_feed div.o_podcast_episode div.o_podcast_video{margin-bottom:3px}#o_feed div.o_podcast_episode div.o_podcast_video embed{width:200px;height:157px}#o_feed .back_link.o_podcast{margin-bottom:1.5em}div.o_podcast_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/control/speaker-volume.png)}#o_feed .o_blog_posts .o_post,#o_feed .o_blog_post .o_post{margin-bottom:1em;padding:10px;border:1px solid #dfdfdf;background-color:#fdfdfd;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px}.o_post-readmorelinks{margin-top:1em;list-style:none}.o_post-readmorelinks,.o_post-readmorelinks li{margin-left:0;padding-left:0}#o_feed .o_blog_posts .o_draft{padding:0.8em;background-color:#fcf7ac;border:1px solid #fddc55}#o_feed .o_blog_posts .o_scheduled{padding:0.8em;background-color:#d9ffd0;border:1px solid #beffae}#o_feed div.o_blog_info div.o_blog_subscription{min-height:16px;padding-left:20px;background:url(../openolat/images/feed.png) no-repeat}#o_feed .o_blog_info .o_author,#o_feed .o_blog_posts .o_item_info{color:#7D7D7D;font-size:90%;margin:0}#o_feed .o_blog_posts p.o_item_info span.o_item_info_mod{color:#98221F}#o_feed .o_blog_post .back_link{margin-bottom:1.5em}div.o_blog_peekview div.o_feed_peekview_item a.o_feed_item_icon{background-image:url(../openolat/images/comment.png)}#o_instantmessaging_status_changer{padding:1em 0 0 0;margin:0}#o_instantmessaging_status_changer a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessaging_status_changer ul{list-style-type:none;padding:0;margin:0}#o_instantmessaging_status_changer li{padding:0;margin:0}#o_instantmessaging_status_changer li a{padding:0.1em 0 0.1em 20px;background-repeat:no-repeat;background-position:0 50%}.o_instantmessaging_chat_history,.o_groupchat_history{border:1px solid #ACAAAA;overflow:scroll;margin:0 0 1em 0;overflow-x:auto;height:170px;background:white;background:-moz-linear-gradient(top, white 80%, #f8f8f8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(80%, white), color-stop(100%, #f8f8f8));background:-webkit-linear-gradient(top, white 80%, #f8f8f8 100%);background:-o-linear-gradient(top, white 80%, #f8f8f8 100%);background:-ms-linear-gradient(top, white 80%, #f8f8f8 100%);background:linear-gradient(top, white 80%, #f8f8f8 100%)}.o_instantmessaging_chat_history div,.o_groupchat_history div{border-top:1px solid #eee;padding:0.3em 0}.o_instantmessaging_chat_form input,.o_groupchat_chat_form input{width:99%}.o_instantmessaging_chat_form div.b_button_group,.o_groupchat_chat_form div.b_button_group{margin-top:1em}#o_instantmessages_buddieslist{padding:1em 0 0 0;margin:0}#o_instantmessages_buddieslist a.b_contexthelp{margin-top:5px;padding-right:5px}#o_instantmessages_buddieslist ul{list-style-type:none;padding:0;margin:0}#o_instantmessages_buddieslist li{margin:0;padding:0}#o_instantmessages_buddieslist li.o_instantmessaging_groupname{padding:0 0 0 20px;background:url(../openolat/images/users.png) no-repeat 0 0}#o_instantmessages_buddieslist li a{padding:2px 0 2px 20px;background-repeat:no-repeat;background-position:0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showgroupswitch{padding:2px 0 2px 20px;background:url(../openolat/images/users_conf.png) no-repeat 0 0}#o_instantmessages_buddieslist a.o_instantmessaging_showofflineswitch{padding:2px 0 2px 20px;background:url(../openolat/images/im/grstar.png) no-repeat 0 0}div.o_groupchat_roster{margin:0}div.o_groupchat_roster ul{list-style-type:none;margin:0;padding:0}div.o_groupchat_roster li{font-size:95%}.o_instantmessaging_available_icon{background-image:url(../openolat/images/im/gstar.png)}.o_instantmessaging_dnd_icon{background-image:url(../openolat/images/im/gstar_cross.png)}.o_instantmessaging_unavailable_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_offline_icon{background-image:url(../openolat/images/im/grstar.png)}.o_instantmessaging_new_msg_icon{background-image:url(../openolat/images/im/new_message.png)}.o_instantmessaging_error_icon{background-image:url(../openolat/images/cross.png)}.o_instantmessaging_refresh_icon{background-image:url(../openolat/images/qti/tries.png)}div.o_home_portaleditlink{position:absolute;top:1em;right:0.6em}.o_home_main{text-align:center}div.o_home_rsslink{clear:both;float:right;display:inline;margin:10px 0}div.o_home_rsslink a{float:right;display:inline}div.o_home_rsslink a.o_home_rsslink{background:url(../openolat/images/feed.png) no-repeat;width:16px;display:block;height:16px;line-height:0}.b_portlet{position:relative;margin:10px;min-height:13em}.b_portlet .b_portlet_showall{font-size:95%;position:absolute;right:0;top:0}.b_portlet .b_portlet_header{border-bottom:1px solid #ff6666;white-space:nowrap;overflow-y:hidden !important;overflow-x:hidden !important}.b_portlet .b_portlet_content{position:relative;padding:1em 0 0 0}.b_portlet div.b_portlet_table table{background:none;border:none}.b_portlet div.b_portlet_table table th,.b_portlet div.b_portlet_table table td{padding:0}.b_portlet div.b_portlet_table table tbody tr{background:transparent}.b_portlet div.b_portlet_table table tbody tr.b_table_odd td{background:transparent}.b_portlet div.b_portlet_table table tbody tr td{border:0 !important}.b_portlet div.b_portlet_table table tbody tr:hover,.b_portlet div.b_portlet_table table tbody tr:hover td,.b_portlet div.b_portlet_table table tbody tr:focus,.b_portlet div.b_portlet_table table tbody tr:focus td{background:transparent}.b_portlet div.b_portlet_table div.b_table_empty{background:none;padding:0;margin:0}div.o_portlet_repository_student td.b_first_child{width:24px}div.o_portlet_repository_teacher td.b_first_child{width:24px}.b_portlet .b_portlet_header{background-repeat:no-repeat;background-position:0% 50%;padding-left:27px;padding-top:5px;padding-bottom:5px}div.o_portlet_calendar div.b_portlet_header{background-image:url(../openolat/images/calendar_empty.png);padding-left:2px;padding-top:8px}div.o_portlet_calendar.o_day_1 div.b_portlet_header strong:before{content:"1";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_2 div.b_portlet_header strong:before{content:"2";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_3 div.b_portlet_header strong:before{content:"3";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_4 div.b_portlet_header strong:before{content:"4";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_5 div.b_portlet_header strong:before{content:"5";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_6 div.b_portlet_header strong:before{content:"6";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_7 div.b_portlet_header strong:before{content:"7";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_8 div.b_portlet_header strong:before{content:"8";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_9 div.b_portlet_header strong:before{content:"9";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_10 div.b_portlet_header strong:before{content:"10";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_11 div.b_portlet_header strong:before{content:"11";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_12 div.b_portlet_header strong:before{content:"12";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_13 div.b_portlet_header strong:before{content:"13";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_14 div.b_portlet_header strong:before{content:"14";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_15 div.b_portlet_header strong:before{content:"15";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_16 div.b_portlet_header strong:before{content:"16";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_17 div.b_portlet_header strong:before{content:"17";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_18 div.b_portlet_header strong:before{content:"18";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_19 div.b_portlet_header strong:before{content:"19";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_20 div.b_portlet_header strong:before{content:"20";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_21 div.b_portlet_header strong:before{content:"21";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_22 div.b_portlet_header strong:before{content:"22";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_23 div.b_portlet_header strong:before{content:"23";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_24 div.b_portlet_header strong:before{content:"24";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_25 div.b_portlet_header strong:before{content:"25";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_26 div.b_portlet_header strong:before{content:"26";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_27 div.b_portlet_header strong:before{content:"27";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_28 div.b_portlet_header strong:before{content:"28";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_29 div.b_portlet_header strong:before{content:"29";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_30 div.b_portlet_header strong:before{content:"30";font-size:smaller;padding-right:16px}div.o_portlet_calendar.o_day_31 div.b_portlet_header strong:before{content:"31";font-size:smaller;padding-right:16px}div.o_portlet_infomsg div.b_portlet_header{background-image:url(../openolat/images/comment.png)}div.o_portlet_quickstart div.b_portlet_header{background-image:url(../openolat/images/mouse.png)}div.o_portlet_bookmark div.b_portlet_header{background-image:url(../openolat/images/book-open-bookmark.png)}div.o_portlet_groups div.b_portlet_header{background-image:url(../openolat/images/users.png)}div.o_portlet_notes div.b_portlet_header{background-image:url(../openolat/images/sticky-note--pencil.png)}div.o_portlet_noti div.b_portlet_header{background-image:url(../openolat/images/mail.png)}div.o_portlet_eff div.b_portlet_header{background-image:url(../openolat/images/script-stamp.png)}div.o_portlet_repository_student div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image.png)}div.o_portlet_repository_teacher div.b_portlet_header{background-image:url(../openolat/images/le_resources/book-open-text-image-red.png)}div.b_portlet_iframe div.b_portlet_header{background-image:url(../openolat/images/layer.png)}div.b_portlet_sysinfo div.b_portlet_header{background-image:url(../openolat/images/exclamation.png)}div.b_portlet_dyk div.b_portlet_header{background-image:url(../openolat/images/light-bulb.png)}div.o_portlet_infomessages div.b_portlet_header{background-image:url(../openolat/images/information-button.png)}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet.b_portlet_edit{background:#FFE793;border:1px solid #FF9E3E;padding:2px}div.b_portlet.b_portlet_edit .b_portlet_header{height:23px}div.b_portlet_toolbox{position:absolute;top:0;right:0;padding:2px;height:20px;overflow-y:hidden !important;overflow-x:hidden !important}div.b_portlet_toolbox a,div.b_portlet_toolbox span.b_disabled{background-repeat:no-repeat;background-position:1px 1px;float:right;width:18px;height:18px;overflow:hidden}div.b_portlet_toolbox div{display:inline}div.b_portlet_toolbox > a,div.b_portlet_toolbox > span{border:1px solid #888;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;background:#eee;background-repeat:no-repeat;background-position:center}div.b_portlet_toolbox a.b_portlet_edit_left{background-image:url(../openolat/images/arrow_left_big.png)}div.b_portlet_toolbox a.b_portlet_edit_right{background-image:url(../openolat/images/arrow_right_big.png)}div.b_portlet_toolbox a.b_portlet_edit_down{background-image:url(../openolat/images/arrow_down_big.png)}div.b_portlet_toolbox a.b_portlet_edit_up{background-image:url(../openolat/images/arrow_up_big.png)}div.b_portlet_toolbox a.b_portlet_edit_delete{background-image:url(../openolat/images/bin-metal-full.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_auto{background-image:url(../openolat/images/table_sort.png)}div.b_portlet_toolbox a.b_portlet_edit_sort_manual{background-image:url(../openolat/images/table_gear.png)}div.b_portlet_toolbox span.b_portlet_edit_left_disabled{background-image:url(../openolat/images/arrow_left_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_right_disabled{background-image:url(../openolat/images/arrow_right_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_down_disabled{background-image:url(../openolat/images/arrow_down_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_up_disabled{background-image:url(../openolat/images/arrow_up_big.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_auto_disabled{background-image:url(../openolat/images/table_sort.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}div.b_portlet_toolbox span.b_portlet_edit_sort_manual_disabled{background-image:url(../openolat/images/table_gear.png);zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=20);-moz-opacity:0.2;-khtml-opacity:0.2;opacity:0.2}.b_toolboxes{padding:6px}.b_toolboxes .b_toolbox{margin-bottom:20px}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper{border-bottom:1px solid #ff6666;background:inherit}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head{vertical-align:top}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head strong{font-weight:bold}.b_toolboxes .b_toolbox .b_toolbox_head_wrapper .b_toolbox_head_icon{background:transparent no-repeat 3px 50%;padding-left:19px;line-height:1.2em;color:black}.b_toolboxes .b_toolbox .b_toolbox_content ul{padding:0 0 0 6px;margin:0;list-style:none}.b_toolboxes .b_toolbox .b_toolbox_content li{padding:0;margin:0;line-height:1.7em;white-space:nowrap}.b_toolboxes .b_toolbox .b_toolbox_content li a{color:#667;background-repeat:no-repeat;background-position:0 50%;padding-left:20px;display:block}.b_toolboxes .b_toolbox .b_toolbox_content li a:focus,.b_toolboxes .b_toolbox .b_toolbox_content li a:hover,.b_toolboxes .b_toolbox .b_toolbox_content li a:active{color:#504D4E;text-decoration:underline}.b_toolboxes .b_toolbox .b_toolbox_content li div.b_note,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_important,.b_toolboxes .b_toolbox .b_toolbox_content li div.b_warning{padding:0 0 0 20px;margin:0;border-bottom:0}.b_toolboxes .b_toolbox .b_toolbox_content li a.b_toolbox_toggle{padding-left:0;display:inline}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_toggle_wrapper{float:right;font-size:90%}.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_link.b_disabled,.b_toolboxes .b_toolbox .b_toolbox_content li span.b_toolbox_disabled{color:#999;background:no-repeat 0 50% url(../openolat/images/bullet_white.png);padding-left:18px;display:block}div.b_portlet.o_pt_w_if div.b_portlet_header{background-image:url(../openolat/images/globe.png)}div.b_portlet p{margin-bottom:0}div.b_portlet_dyk_q{font-weight:bold}div.b_portlet_dyk_a{padding-top:5px}div.b_portlet_dyk_next{text-align:right}div.f_library_catalog div.b_tree ul{white-space:normal}div.f_library_catalog div.b_tree ul.b_tree_l1 li a.b_tree_icon{background-image:none !important}div.f_library_catalog div.f_metadata{background-color:#fcfcfc;margin-left:20px;padding:4px}div.f_library_catalog h4{padding-left:25px;background-repeat:no-repeat;background-position:center left}div.f_library_catalog div.f_folder_info div.f_metadata{margin-bottom:1.5em}div.f_library_catalog div.b_noti{right:90px}div.f_library_catalog div.f_thumbnails_switch{border:1px solid #E9EAEF;display:inline;position:absolute;top:0px;right:0px;float:right;padding:3px 3px 3px 23px}div.f_library_catalog div.f_thumbnails_on{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%}div.f_library_catalog div.f_thumbnails_off{background:url(../openolat/images/docs/document_preview.png) no-repeat 3px 50%;zoom:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=$percent)";filter:alpha(opacity=70);-moz-opacity:0.7;-khtml-opacity:0.7;opacity:0.7}div.f_library_catalog th,div.f_library_catalog td{text-align:left;font-size:0.9em;color:#999;margin:0;padding:0;border:0}div.f_library_catalog th{font-weight:bold;width:14em;vertical-align:top}div.f_library_catalog h3.b_filetype_folder{margin-top:20px}div.f_library_catalog div.f_item{margin-bottom:1em;padding:0.5em}div.f_library_catalog div.f_item div.f_item_thumbnail{width:200px;height:200px;float:left;margin-right:20px}div.f_library_catalog div.f_item div.f_item_links a{background-repeat:no-repeat}div.f_library_catalog div.f_item div.f_item_links a.b_filetype_file{display:block;width:70%;float:left;padding:2px 10px 2px 20px;background-repeat:no-repeat;margin:0}div.f_library_catalog div.f_item div.f_item_links a.f_permalink{text-decoration:none;display:block;width:9px;height:9px;float:right;padding:4px 2px 2px 2px;margin:0;background-position:center center}div.f_library_catalog div.f_item div.f_item_links span a.f_sendmail{text-decoration:none;background:url(../openolat/images/mail.png) no-repeat top left;display:block;width:16px;height:16px;float:right;padding:0 0 0 2px;margin:0}div.f_library_catalog div.f_item div.f_metadata{position:relative;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px;-o-border-radius:4px;moz-box-shadow:0 1px 2px #d3d3d3;-ms-box-shadow:0 1px 2px #d3d3d3;-o-box-shadow:0 1px 2px #d3d3d3;-webkit-box-shadow:0 1px 2px #d3d3d3;box-shadow:0 1px 2px #d3d3d3}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail{float:left;border-right:1px solid #eeeeee}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_inner{width:200px;height:200px}div.f_library_catalog div.f_item div.f_metadata div.f_thumbnail_unavailable{width:200px;height:200px;background-image:url(../openolat/images/no_preview.png);background-repeat:no-repeat;background-position:50% 50%}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text{padding-bottom:35px}div.f_library_catalog div.f_item div.f_metadata div.f_metadata_text_inner{width:100%}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings{position:absolute;bottom:3px;right:3px;width:300px}div.f_library_catalog div.f_item div.f_metadata div.f_item_ratings div.b_ratings_and_comments{margin:0;border:none}div.f_library_catalog div.f_item_selected div.f_metadata{background-color:#F0F0F0 !important;moz-box-shadow:1 1px 4px #d3d3d3;-ms-box-shadow:1 1px 4px #d3d3d3;-o-box-shadow:1 1px 4px #d3d3d3;-webkit-box-shadow:1 1px 4px #d3d3d3;box-shadow:1 1px 4px #d3d3d3}div.f_library_catalog h3.f_search_results{background-image:url(../openolat/images/magnifier-zoom.png) !important}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input{line-height:1.3em;margin:0;width:10em}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox input:focus{border:1px solid #504D4E}div.f_library_catalog div.b_toolbox div.o_toolbox_searchbox button{width:16px;height:16px;background:url(../openolat/images/magnifier-zoom.png) no-repeat;border:0;vertical-align:top}div.f_library_overview img{float:right;max-width:50%}div.f_library_overview p{padding-left:20px}div.f_library_overview div.f_library_big_icon{float:right;width:425px;height:282px;background:url(../openolat/images/library_image.png) no-repeat}div.f_library_overview div.f_library_newest_files ul li{white-space:normal;padding-bottom:0.3em}div.f_library_overview div.f_library_newest_files ul li a{background-position:top left;min-height:16px}.f_library_icon{background-image:url(../openolat/images/library.png)}@media print{.o_noprint{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_toplink{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}body{font-size:10pt}.b_noti{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}#b_main.o_loginscreen{background-image:none}#b_main.o_home{background-image:none}#b_main.o_editor{background-image:none}#b_main{moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;border:none}body,#b_page_margins,#b_page,#b_main,#b_page_wrapper{margin:0;padding:0;border:0}body *{font-family:"Times New Roman", Times, serif}code,pre{font-family:"Courier New", Courier, mono}#b_page_margins,#b_page{width:100% !important;min-width:0;max-width:none}#b_footer,#b_topnav,#b_nav,#search{display:none}#b_col1,#b_col2{display:none}#b_col3{margin:0 !important;border:none !important}.b_c25l,.b_c33l,.b_c38l,.b_c50l,.b_c62l,.b_c66l,.b_c75l,.b_c25r,.b_c33r,.b_c38r,.b_c50r,.b_c62r,.b_c66r,.b_c75r{width:100%;margin:0;float:none;overflow:visible;display:table}.b_subc,.b_subcl,.b_subcr{margin:0;padding:0}h1,h2,h3,h4,h5,h6{page-break-after:avoid}#b_page a[href^="http:"],#b_page a[href^="https:"]{padding-left:0;background-image:none}#b_col1_content:before,#b_col2_content:before,#b_col3_content:before{content:"";color:#888;background:inherit;display:block;font-weight:700;font-size:1.5em}.b_floatbox,.b_subcolumns,.b_subcolums_oldgecko{overflow:visible;display:table}#jsMath_PrintWarning{display:none !important;visibility:hidden !important;height:0px !important;width:0px !important}.o_wiki_wrapper .b_c20l,.o_wiki_wrapper .o_wikimod_nav{display:none}.o_wiki_wrapper .b_c80r{width:100%}.o_wiki_wrapper .b_c80r div.b_tabbedpane_tabs{display:none}}
diff --git a/src/test/java/org/olat/instantMessaging/IMPrefsTask.java b/src/test/java/org/olat/instantMessaging/IMPrefsTask.java
deleted file mode 100644
index cfc0c4b750a17821f1179db3fd8373d4ebce35c3..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/IMPrefsTask.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging;
-
-import org.jivesoftware.smack.packet.Presence;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.id.Identity;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-
-/**
- * Description:<br>
- * TODO: guido Class Description for IMPrefsTask
- * 
- * <P>
- * Initial Date:  12.08.2008 <br>
- * @author guido
- */
-public class IMPrefsTask implements Runnable {
-	
-	private OLog log = Tracing.createLoggerFor(IMPrefsTask.class);
-	
-	private Identity ident;
-
-	public IMPrefsTask(Identity ident) {
-		this.ident = ident;
-	}
-
-	/**
-	 * @see java.lang.Runnable#run()
-	 */
-	public void run() {
-		
-		double j = Math.random()*20;
-		int z = Long.valueOf((Math.round(j))).intValue();
-		try {
-			Thread.sleep(z);
-		} catch (InterruptedException e) {
-			log.error("", e);
-		}
-		
-		ImPrefsManager mgr = ImPrefsManager.getInstance();
-		ImPreferences prefs = mgr.loadOrCreatePropertiesFor(ident);
-		prefs.setAwarenessVisible(false);
-		prefs.setOnlineTimeVisible(false);
-		prefs.setRosterDefaultStatus(Presence.Mode.away.toString());
-		prefs.setVisibleToOthers(false);
-		mgr.updatePropertiesFor(ident, prefs);
-		
-		double rand = Math.random() * 3;
-		int i = Long.valueOf((Math.round(rand))).intValue();
-		if (i == 1) {
-			mgr.deleteProperties(ident, prefs);
-			System.out.println("prefs deleted for user: "+ident.getName());
-		}
-		DBFactory.getInstance().commitAndCloseSession();
-		System.out.println("prefs loaded and updated for user: "+ident.getName());
-	}
-
-}
diff --git a/src/test/java/org/olat/instantMessaging/IMPrefsUnitTest.java b/src/test/java/org/olat/instantMessaging/IMPrefsUnitTest.java
deleted file mode 100644
index a0fab2587e731837eb02e2248cc2aa0e643980f2..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/IMPrefsUnitTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import org.junit.After;
-import org.junit.Test;
-import org.olat.core.commons.persistence.DB;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.commons.taskExecutor.TaskExecutorManager;
-import org.olat.core.id.Identity;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.test.JunitTestHelper;
-import org.olat.test.OlatTestCase;
-import org.springframework.beans.factory.annotation.Autowired;
-
-	/**
-	 * Description:<br>
-	 * Unit test for IM Preferences
-	 * 
-	 * <P>
-	 * Initial Date:  12.08.2008 <br>
-	 * @author guido
-	 */
-public class IMPrefsUnitTest extends OlatTestCase {
-	private OLog log = Tracing.createLoggerFor(IMPrefsUnitTest.class);
-
-	@Autowired
-	private DB dbInstance;
-	@Autowired
-	private ImPrefsManager imPrefsManager;
-	
-
-	@After
-	public void tearDown() {
-		try {
-			DBFactory.getInstance().closeSession();
-		} catch (Exception e) {
-			log.error("Exception in tearDown(): " + e);
-		}
-	}
-	
-	@Test
-	public void testPrefs() {
-		Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("im-1-" + UUID.randomUUID().toString());
-		Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("im-1-" + UUID.randomUUID().toString());
-		Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("im-1-" + UUID.randomUUID().toString());
-		Identity id4 = JunitTestHelper.createAndPersistIdentityAsUser("im-1-" + UUID.randomUUID().toString());
-
-		List<Identity> identities = new ArrayList<Identity>();
-		identities.add(id1);
-		identities.add(id2);
-		identities.add(id3);
-		identities.add(id4);
-		dbInstance.commitAndCloseSession();
-		
-		long start = System.currentTimeMillis();
-
-		for (int runs=0; runs<100; runs++) {
-			double rand = Math.random() * 3.0d;
-			int i = Long.valueOf((Math.round(rand))).intValue();
-			
-			Identity randomIdentity = identities.get(i);
-			ImPreferences prefs = imPrefsManager.loadOrCreatePropertiesFor(randomIdentity);
-			assertNotNull(prefs);
-			assertNotNull(prefs.getDbProperty());
-			
-			try {
-				Thread.sleep(100);
-			} catch (InterruptedException e1) {
-				log.error("", e1);
-			}
-			for (Identity identity:identities) {
-				TaskExecutorManager.getInstance().runTask(new IMPrefsTask(identity));
-				try {
-					Thread.sleep(20);
-				} catch (InterruptedException e) {
-					log.error("", e);
-				}
-			}
-		}
-		
-		long stop = System.currentTimeMillis();
-		System.out.println("took time in s:"+(stop-start)/1000);
-	}
-}
\ No newline at end of file
diff --git a/src/test/java/org/olat/instantMessaging/IMUnitTest.java b/src/test/java/org/olat/instantMessaging/IMUnitTest.java
deleted file mode 100644
index b5942fedf4a181249e718c779a3685363dbf28ae..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/IMUnitTest.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.  
-* <p>
-*/
-package org.olat.instantMessaging;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.olat.basesecurity.Authentication;
-import org.olat.basesecurity.BaseSecurityManager;
-import org.olat.core.commons.persistence.DB;
-import org.olat.core.commons.persistence.DBFactory;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.olat.core.util.coordinate.CoordinatorManager;
-import org.olat.instantMessaging.ui.ConnectedUsersListEntry;
-import org.olat.test.JunitTestHelper;
-import org.olat.test.OlatTestCase;
-
-/**
- * Description:<br>
- * IM junit tests
- * 
- * <P>
- * Initial Date:  Nov 16, 2006 <br>
- * @author guido
- */
-public class IMUnitTest extends OlatTestCase {
-	private static final OLog log = Tracing.createLoggerFor(OlatTestCase.class);
-	
-	private final String testUserA = "anIdentity1";
-	private final String testUserB = "anIdentity2";
-	private final String testUserC = "testuser@thankyou2010.com";
-	
-	
-	/**
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	@Before public void setup() throws Exception {
-		JunitTestHelper.createAndPersistIdentityAsUser(testUserA);
-		JunitTestHelper.createAndPersistIdentityAsUser(testUserB);
-		JunitTestHelper.createAndPersistIdentityAsUser(testUserC);
-		DBFactory.getInstance().closeSession();
-	}
-
-	/**
-	 * TearDown is called after each test
-	 */
-	@After public void tearDown() {
-		try {
-			DB db = DBFactory.getInstance();
-			db.closeSession();
-		} catch (Exception e) {
-			log.error("Exception in tearDown(): ", e);
-		}
-	}
-	
-	@Test
-	public void testIMStuff() {
-		if(InstantMessagingModule.isEnabled()) {
-			try {
-			String groupIdPlain = "junittestgroup-12343w5234";
-			String groupName = "junittestgroup";
-			InstantMessaging im = InstantMessagingModule.getAdapter();
-			String groupId = im.getNameHelper().getGroupnameForOlatInstance(groupIdPlain);
-			
-			//first delete possible accounts and groups on the IM server
-			InstantMessagingModule.getAdapter().deleteAccount(testUserA);
-			InstantMessagingModule.getAdapter().deleteAccount(testUserB);
-			InstantMessagingModule.getAdapter().deleteAccount(testUserC);
-			im.deleteRosterGroup(groupId);
-			
-			Authentication authC = BaseSecurityManager.getInstance().findAuthenticationByAuthusername(testUserC, ClientManager.PROVIDER_INSTANT_MESSAGING);
-			if(authC != null) BaseSecurityManager.getInstance().deleteAuthentication(authC);
-			DBFactory.getInstance().intermediateCommit();
-			InstantMessagingClient imClientC = InstantMessagingModule.getAdapter().getClientManager().getInstantMessagingClient(testUserC);
-			//wait some time as connection process is in background thread
-			Thread.sleep(3000);
-			assertTrue(imClientC.isConnected());
-			imClientC.closeConnection(true);
-			assertTrue(InstantMessagingModule.getAdapter().deleteAccount(testUserC));
-			
-			//delete IM passwords, otherwise accounts don't get created
-			Authentication authA = BaseSecurityManager.getInstance().findAuthenticationByAuthusername(testUserA, ClientManager.PROVIDER_INSTANT_MESSAGING);
-			Authentication authB = BaseSecurityManager.getInstance().findAuthenticationByAuthusername(testUserB, ClientManager.PROVIDER_INSTANT_MESSAGING);
-			
-			if(authA != null) BaseSecurityManager.getInstance().deleteAuthentication(authA);
-			if(authB != null) BaseSecurityManager.getInstance().deleteAuthentication(authB);
-					
-			//get the IM client, it connects automatically to the server (creates an account on the im server)
-			InstantMessagingClient imClientA = InstantMessagingModule.getAdapter().getClientManager().getInstantMessagingClient(testUserA);
-			assertNotNull(imClientA);
-			InstantMessagingClient imClientB = InstantMessagingModule.getAdapter().getClientManager().getInstantMessagingClient(testUserB);
-			assertNotNull(imClientB);
-			Thread.sleep(1000);
-			assertEquals(true, imClientA.isConnected());
-			int groupCountA = imClientA.getRoster().getGroupCount();
-			assertEquals(true, imClientB.isConnected());
-			
-			assertTrue(im.countConnectedUsers() >= 2); //there is may be as well an admin user connected
-			
-			//add user to roster
-			List<String> userToAdd = new ArrayList<String>(2);
-			userToAdd.add(testUserA);
-			userToAdd.add(testUserB);
-			im.syncFriendsRoster(groupId, groupName, userToAdd, null);
-			Thread.sleep(1000);
-			assertEquals(1, imClientA.getRoster().getGroup(groupName).getEntryCount());
-			Thread.sleep(1000);
-			im.renameRosterGroup(groupId, groupName+"ABC");
-			Thread.sleep(1000);
-			assertEquals(1, imClientA.getRoster().getGroup(groupName+"ABC").getEntryCount());
-			Thread.sleep(1000);
-			im.syncFriendsRoster(groupId, groupName, null, Collections.singletonList(testUserB));
-			Thread.sleep(1000);
-			im.deleteRosterGroup(groupId);
-			Thread.sleep(1000);
-			assertEquals(groupCountA, imClientA.getRoster().getGroupCount());
-			
-			
-			//localy we do not have all information we need
-			//todo, add dummy values locally as we do not have authUserSessions
-			if (CoordinatorManager.getInstance().getCoordinator().isClusterMode()) {
-				List<ConnectedUsersListEntry> l = im.getAllConnectedUsers(null);
-				ConnectedUsersListEntry entry = l.get(1);
-				assertNotNull(entry);
-			}
-			
-			
-			im.getClientManager().destroyInstantMessagingClient(testUserA);
-			im.getClientManager().destroyInstantMessagingClient(testUserB);
-			
-			//delete the accounts with random passwords and recreate the default ones
-			assertTrue(InstantMessagingModule.getAdapter().deleteAccount(testUserA));
-			assertTrue(InstantMessagingModule.getAdapter().deleteAccount(testUserB));
-			
-			} catch (InterruptedException e) {
-				log.error("", e);
-			}
-		}
-	}
-}
diff --git a/src/test/java/org/olat/instantMessaging/IMUnitTestWithoutOLAT.java b/src/test/java/org/olat/instantMessaging/IMUnitTestWithoutOLAT.java
deleted file mode 100644
index f143cbede363a42be3890a59861ea13fb8f5f34d..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/IMUnitTestWithoutOLAT.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
-* OLAT - Online Learning and Training<br>
-* http://www.olat.org
-* <p>
-* Licensed under the Apache License, Version 2.0 (the "License"); <br>
-* you may not use this file except in compliance with the License.<br>
-* You may obtain a copy of the License at
-* <p>
-* http://www.apache.org/licenses/LICENSE-2.0
-* <p>
-* Unless required by applicable law or agreed to in writing,<br>
-* software distributed under the License is distributed on an "AS IS" BASIS, <br>
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
-* See the License for the specific language governing permissions and <br>
-* limitations under the License.
-* <p>
-* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
-* University of Zurich, Switzerland.
-* <hr>
-* <a href="http://www.openolat.org">
-* OpenOLAT - Online Learning and Training</a><br>
-* This file has been modified by the OpenOLAT community. Changes are licensed
-* under the Apache 2.0 license as the original file.
-*/
-package org.olat.instantMessaging;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Test;
-import org.olat.test.MockServletContextWebContextLoader;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
-
-/**
- * Instant Messaging integration JUnit Tests, relying on a working IM OpenFire Jabberserver 
- */
-@ContextConfiguration(loader = MockServletContextWebContextLoader.class, locations = {
-		"classpath:org/olat/instantMessaging/_spring/instantMessagingTestContext.xml" })
-public class IMUnitTestWithoutOLAT extends AbstractJUnit4SpringContextTests {
-
-	@Test
-	public void testNormal() {
-		/**
-		 * Precondition
-		 */
-		IMConfig config = (IMConfig) applicationContext.getBean("org.olat.im.IMConfig");
-		assertNotNull(config);
-		// only run IM tests if enabled
-		assumeTrue(config.isEnabled());
-
-		/**
-		 * test
-		 */
-		InstantMessaging im = (InstantMessaging) applicationContext.getBean("org.olat.instantMessaging.InstantMessaging");
-		assertNotNull(im);
-		assertTrue(im.getConfig().isEnabled());
-		
-		String username = "unittest";
-		String password = "test";
-		String fullname = "test test";
-		String email = "@test.ch";
-		String groupId = "testgroup-1234556";
-		String groupname = "testgroupABC";
-		
-		groupId = im.getNameHelper().getGroupnameForOlatInstance(groupId);
-
-		// test api functions that do not need OLAT runtime
-		String tmpUsermaster = username + 0;
-		for (int j = 0; j < 4; j++) {
-			String tmpUsername = username + j;
-			assertFalse(im.hasAccount(tmpUsername));
-			assertTrue(im.createAccount(tmpUsername, password, fullname, username + j + email));
-			assertTrue(im.hasAccount(tmpUsername));
-			List<String> userToAdd = new ArrayList<String>();
-			userToAdd.add(tmpUsermaster);
-			userToAdd.add(tmpUsername);
-			assertTrue(im.syncFriendsRoster(groupId, groupname, userToAdd, null));
-		}
-		assertTrue(im.renameRosterGroup(groupId, groupname + "CDEF"));
-		
-		List<String> userToRemove = new ArrayList<String>();
-		userToRemove.add(tmpUsermaster);
-		userToRemove.add(username + 1);
-		assertTrue(im.syncFriendsRoster(groupId, groupname, null, userToRemove));
-		assertTrue(im.deleteRosterGroup(groupId));
-		for (int j = 0; j < 4; j++) {
-			String tmpUsername = username + j;
-			assertTrue(im.deleteAccount(tmpUsername));
-		}	
-	}
-
-}
\ No newline at end of file
diff --git a/src/test/java/org/olat/instantMessaging/InstantMessageDAOTest.java b/src/test/java/org/olat/instantMessaging/InstantMessageDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..413a8e86fe756339657266b00276a26626a6f684
--- /dev/null
+++ b/src/test/java/org/olat/instantMessaging/InstantMessageDAOTest.java
@@ -0,0 +1,76 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging;
+
+import java.util.UUID;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.id.Identity;
+import org.olat.instantMessaging.manager.InstantMessageDAO;
+import org.olat.test.JunitTestHelper;
+import org.olat.test.OlatTestCase;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * Initial date: 04.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class InstantMessageDAOTest extends OlatTestCase {
+	
+	@Autowired
+	private DB dbInstance;
+	@Autowired
+	private InstantMessageDAO imDao;
+	
+	@Test
+	public void testCreateMessage() {
+		Identity id = JunitTestHelper.createAndPersistIdentityAsAdmin("im-1-" + UUID.randomUUID().toString());
+		InstantMessage msg = imDao.createMessage(id, "Hello world");
+		Assert.assertNotNull(msg);
+		Assert.assertNotNull(msg.getKey());
+		Assert.assertNotNull(msg.getCreationDate());
+		Assert.assertEquals("Hello world", msg.getBody());
+		
+		dbInstance.commitAndCloseSession();
+	}
+	
+	@Test
+	public void testLoadMessage() {
+		//create a message
+		Identity id = JunitTestHelper.createAndPersistIdentityAsAdmin("im-2-" + UUID.randomUUID().toString());
+		InstantMessage msg = imDao.createMessage(id, "Hello load by id");
+		Assert.assertNotNull(msg);
+		dbInstance.commitAndCloseSession();
+		
+		//load the message
+		InstantMessage reloadedMsg = imDao.loadMessageById(msg.getKey());
+		Assert.assertNotNull(reloadedMsg);
+		Assert.assertEquals(msg.getKey(), reloadedMsg.getKey());
+		Assert.assertEquals("Hello load by id", reloadedMsg.getBody());
+	}
+
+
+
+}
diff --git a/src/test/java/org/olat/instantMessaging/InstantMessagePreferencesDAOTest.java b/src/test/java/org/olat/instantMessaging/InstantMessagePreferencesDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c1f13bc9ec91a112693970720af41543bda0804
--- /dev/null
+++ b/src/test/java/org/olat/instantMessaging/InstantMessagePreferencesDAOTest.java
@@ -0,0 +1,75 @@
+/**
+ * <a href="http://www.openolat.org">
+ * OpenOLAT - Online Learning and Training</a><br>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); <br>
+ * you may not use this file except in compliance with the License.<br>
+ * You may obtain a copy of the License at the
+ * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
+ * <p>
+ * Unless required by applicable law or agreed to in writing,<br>
+ * software distributed under the License is distributed on an "AS IS" BASIS, <br>
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
+ * See the License for the specific language governing permissions and <br>
+ * limitations under the License.
+ * <p>
+ * Initial code contributed and copyrighted by<br>
+ * frentix GmbH, http://www.frentix.com
+ * <p>
+ */
+package org.olat.instantMessaging;
+
+import java.util.UUID;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+import org.olat.core.commons.persistence.DB;
+import org.olat.core.id.Identity;
+import org.olat.instantMessaging.manager.InstantMessagePreferencesDAO;
+import org.olat.instantMessaging.model.ImPreferencesImpl;
+import org.olat.test.JunitTestHelper;
+import org.olat.test.OlatTestCase;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * 
+ * Initial date: 04.12.2012<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class InstantMessagePreferencesDAOTest extends OlatTestCase {
+	
+	@Autowired
+	private DB dbInstance;
+	@Autowired
+	private InstantMessagePreferencesDAO imDao;
+	
+	@Test
+	public void testCreateMessage() {
+		Identity id = JunitTestHelper.createAndPersistIdentityAsAdmin("im-prefs-1-" + UUID.randomUUID().toString());
+		ImPreferencesImpl prefs = imDao.createPreferences(id);
+		Assert.assertNotNull(prefs);
+		Assert.assertNotNull(prefs.getKey());
+		Assert.assertNotNull(prefs.getCreationDate());
+		
+		dbInstance.commitAndCloseSession();
+	}
+	
+	@Test
+	public void testLoadMessage() {
+		//create a message
+		Identity id = JunitTestHelper.createAndPersistIdentityAsAdmin("im-prefs-2-" + UUID.randomUUID().toString());
+		ImPreferencesImpl prefs = imDao.createPreferences(id);
+		Assert.assertNotNull(prefs);
+		dbInstance.commitAndCloseSession();
+		
+		//load the message
+		ImPreferencesImpl reloadedPrefs = imDao.getPreferences(id);
+		Assert.assertNotNull(reloadedPrefs);
+		Assert.assertEquals(prefs.getKey(), reloadedPrefs.getKey());
+	}
+
+
+
+}
diff --git a/src/main/java/org/olat/instantMessaging/CountSessionsOnServerJob.java b/src/test/java/org/olat/instantMessaging/InstantMessageServiceTest.java
similarity index 53%
rename from src/main/java/org/olat/instantMessaging/CountSessionsOnServerJob.java
rename to src/test/java/org/olat/instantMessaging/InstantMessageServiceTest.java
index af12a714f8f9ff509a69951b7baaf4537afd9bf2..283c64329c4f78ffcf75969cfceca5bd07cd71d1 100644
--- a/src/main/java/org/olat/instantMessaging/CountSessionsOnServerJob.java
+++ b/src/test/java/org/olat/instantMessaging/InstantMessageServiceTest.java
@@ -19,29 +19,37 @@
  */
 package org.olat.instantMessaging;
 
-import org.olat.core.CoreSpringFactory;
-import org.olat.core.commons.scheduler.JobWithDB;
-import org.olat.core.logging.OLog;
-import org.olat.core.logging.Tracing;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
+import junit.framework.Assert;
+
+import org.junit.Test;
+import org.olat.core.commons.persistence.DB;
+import org.olat.instantMessaging.manager.InstantMessageDAO;
+import org.olat.instantMessaging.manager.InstantMessagePreferencesDAO;
+import org.olat.test.OlatTestCase;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * 
+ * Initial date: 04.12.2012<br>
  * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
  */
-public class CountSessionsOnServerJob extends JobWithDB {
+public class InstantMessageServiceTest extends OlatTestCase {
 	
-	private OLog log = Tracing.createLoggerFor(CountSessionsOnServerJob.class);
+	@Autowired
+	private DB dbInstance;
+	@Autowired
+	private InstantMessageDAO imDao;
+	@Autowired
+	private InstantMessagePreferencesDAO preferencesDao;
+	@Autowired
+	private InstantMessagingService imService;
 
-	@Override
-	public void executeWithDB(JobExecutionContext arg0) throws JobExecutionException {
-		try {
-			SmackInstantMessagingImpl instantMessaging = CoreSpringFactory.getImpl(SmackInstantMessagingImpl.class);
-			int count = instantMessaging.getSessionCountService().countSessions();
-			instantMessaging.setSessionCount(count);
-		} catch (Exception e) {
-			log.error("Cannot count the users online", e);
-		}
+	@Test
+	public void should_service_present() {
+		Assert.assertNotNull(dbInstance);
+		Assert.assertNotNull(imDao);
+		Assert.assertNotNull(preferencesDao);
+		Assert.assertNotNull(imService);
 	}
 }
diff --git a/src/test/java/org/olat/instantMessaging/_spring/instantMessagingTestContext.xml b/src/test/java/org/olat/instantMessaging/_spring/instantMessagingTestContext.xml
deleted file mode 100644
index 91ec458ae4ae8470baae6bba0d3054e080e7b4f6..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/_spring/instantMessagingTestContext.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:context="http://www.springframework.org/schema/context" 
-	xsi:schemaLocation="
-  http://www.springframework.org/schema/beans 
-  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
-  http://www.springframework.org/schema/context 
-  http://www.springframework.org/schema/context/spring-context-3.0.xsd">
-
-<context:property-placeholder location="classpath:serviceconfig/olat.properties, classpath:olat.local.properties" />
-	
-	<bean id="org.olat.instantMessaging.InstantMessaging" 
-		class="org.olat.instantMessaging.SmackInstantMessagingImpl">
-		
-		<!-- creating instance depending on config in olat.properties -->
-		<property name="sessionCountService" ref="org.olat.im.IMSessionCount${cluster.mode}"/>
-		<property name="buddyGroupService" ref="org.olat.im.IMBuddyGroupService" />
-		
-		<!-- creating instance depending on config in olat.properties -->
-		<property name="sessionItemsService" ref="org.olat.im.IMSessionItemsService${cluster.mode}" />
-		<property name="accountService" ref="org.olat.im.IMAccountService" />
-		<property name="clientManager" ref="org.olat.im.ClienManager"/>
-		<property name="config" ref="org.olat.im.IMConfig"/>
-		<property name="nameHelper" ref="org.olat.im.NameHelper" />
-		<property name="adminConnection" ref="org.olat.im.AdminConnection" />
-		<property name="serverPluginVersion" ref="org.olat.im.IMPluginVersionService" />
-		<!-- plugin on IM server has to be the same version as on the olat client side -->
-		<property name="clientVersion" value="1.1" />
-		<property name="actionController">
-		<!-- there are two versions of the GroupChatManagerController (singleVM or Cluster versions). Dynamic creation based on the value in olat.properties-->	
-			<bean class="org.olat.core.gui.control.creator.AutoCreator" scope="prototype">
-				<property name="className" value="org.olat.instantMessaging.groupchat.GroupChatManagerController${cluster.mode}"/>
-			</bean>
-		</property>
-	</bean>
-	
-	<!-- Cluster version of Session Count -->
-	<bean id="org.olat.im.IMSessionCountCluster" 
-		class="org.olat.instantMessaging.syncservice.RemoteSessionCountOverXMPP" lazy-init="true">
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Local version of Session Count -->
-	<bean id="org.olat.im.IMSessionCountSingleVM" 
-		class="org.olat.instantMessaging.syncservice.SessionCountLocal"  lazy-init="true">
-	</bean>
-	
-	<bean id="org.olat.im.IMBuddyGroupService" 
-		class="org.olat.instantMessaging.syncservice.RemoteGroupCreationOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Cluster version of Session Items list -->
-	<bean id="org.olat.im.IMSessionItemsServiceCluster" 
-		class="org.olat.instantMessaging.syncservice.RemoteSessionsOnIMServerOverXMPP"  lazy-init="true">
-		<constructor-arg ref="IMPrefsManager" />
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<!-- Local version of Session Items list -->
-	<bean id="org.olat.im.IMSessionItemsServiceSingleVM" 
-		class="org.olat.instantMessaging.ui.ConnectedUsersLocal"  lazy-init="true">
-		<constructor-arg ref="IMPrefsManager" />
-	</bean>
-	
-	<bean id="org.olat.im.IMAccountService" 
-		class="org.olat.instantMessaging.syncservice.RemoteAccountCreationOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-	
-	<bean id="org.olat.im.IMPluginVersionService" 
-		class="org.olat.instantMessaging.syncservice.RemotePluginVersionOverXMPP" >
-	 <property name="connection" ref="org.olat.im.AdminConnection" />
-	</bean>
-		
-	<bean id="org.olat.im.ClienManager" 
-		class="org.olat.instantMessaging.ClientManagerImpl"/>
-		
-	<bean id="org.olat.im.AdminConnection" 
-	class="org.olat.instantMessaging.AdminUserConnection" destroy-method="dispose">
-		<constructor-arg ref="org.olat.im.IMConfig" />
-	</bean>
-		
-	<bean id="org.olat.im.IMConfig" class="org.olat.instantMessaging.IMConfig">
-		<property name="enabled" value="${instantMessaging.enable}" />
-		<property name="servername" value="${instantMessaging.server.name}" />
-		<property name="nodeId" value="${node.id}" />		
-		<property name="multipleInstances" value="${instantMessaging.multipleInstances}"/>
-		<property name="adminName" value="${instantMessaging.admin.username}" />		
-		<property name="adminPassword" value="${instantMessaging.admin.password}" />
-		<property name="replaceStringForEmailAt" value="${instantMessaging.replaceStringForEmailAt}" />
-		
-		<!-- adjust for you needs-->
-		
-		<!-- polling intervall when not chatting -->
-		<property name="idlePolltime" value="15000" />
-		<!-- polling intervall while chatting -->
-		<property name="chatPolltime" value="2500" />
-		<!-- synchonisation of groups on IM server. -->
-		<property name="syncGroups" value="${instantMessaging.sync.groups}" />
-		
-	</bean>
-	
-	<bean id="org.olat.im.NameHelper" class="org.olat.instantMessaging.IMNameHelper">
-		<constructor-arg index="0" ref="org.olat.im.IMConfig" />
-		<constructor-arg index="1" value="${instance.id}" />
-	</bean>
-	
-	<bean id="IMPrefsManager" class="org.olat.instantMessaging.ImPrefsManager" />
-</beans>
\ No newline at end of file
diff --git a/src/test/java/org/olat/instantMessaging/_spring/readme.txt b/src/test/java/org/olat/instantMessaging/_spring/readme.txt
deleted file mode 100644
index 198d2a28bd5b301ea1d9fe6ee20c17718ae671bc..0000000000000000000000000000000000000000
--- a/src/test/java/org/olat/instantMessaging/_spring/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-same as in original path, but without the "instantMessagingModule" bean definition. this would need too much from other parts of olat
\ No newline at end of file
diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java
index 13c99eb0a9d1102e5d5dff80aaca9a066cbf9d8c..ff0e088f7cee91a8042c1857f1681643c0324346 100644
--- a/src/test/java/org/olat/test/AllTestsJunit4.java
+++ b/src/test/java/org/olat/test/AllTestsJunit4.java
@@ -90,8 +90,9 @@ import org.junit.runners.Suite;
 	org.olat.repository.RepositoryManagerTest.class,//ok
 	org.olat.repository.RepositoryManagerConcurrentTest.class,//ok
 	org.olat.repository.RepositoryManagerQueryTest.class,//ok
-	org.olat.instantMessaging.IMUnitTest.class,//ok
-	org.olat.instantMessaging.IMPrefsUnitTest.class,//ok
+	org.olat.instantMessaging.InstantMessageDAOTest.class,//ok
+	org.olat.instantMessaging.InstantMessagePreferencesDAOTest.class,//ok
+	org.olat.instantMessaging.InstantMessageServiceTest.class,//ok
 	org.olat.course.nodes.en.EnrollmentManagerTest.class,//ok
 	org.olat.course.assessment.AssessmentManagerTest.class,//ok
 	org.olat.course.config.CourseConfigManagerImplTest.class,//ok
@@ -189,7 +190,6 @@ import org.junit.runners.Suite;
 	 * tree is not available
 	 */
 	org.olat.core.commons.scheduler.SchedulerTest.class,
-	org.olat.instantMessaging.IMUnitTestWithoutOLAT.class,
 	org.olat.course.TestDeployableRepositoryExport.class,
 	org.olat.upgrade.UpgradeDefinitionTest.class
 })
diff --git a/src/test/java/org/olat/test/OlatTestCase.java b/src/test/java/org/olat/test/OlatTestCase.java
index 54c47a5fcce11b4c41f0623b2e7f95247f34194a..499d1bd03f392060d53c0371b219fbb0790b3c75 100644
--- a/src/test/java/org/olat/test/OlatTestCase.java
+++ b/src/test/java/org/olat/test/OlatTestCase.java
@@ -68,7 +68,6 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 	"classpath:/org/olat/core/_spring/mainCorecontext.xml",
 
 	"classpath:/serviceconfig/org/olat/core/gui/components/form/flexible/impl/elements/richText/_spring/richTextCorecontext.xml",
-	"classpath:/serviceconfig/org/olat/core/commons/scheduler/_spring/schedulerCorecontext.xml",
 	"classpath:/serviceconfig/org/olat/core/commons/modules/glossary/_spring/glossaryCorecontext.xml",
 	"classpath:/serviceconfig/org/olat/core/commons/services/commentAndRating/_spring/commentsAndRatingCorecontext.xml",
 	"classpath:/org/olat/core/commons/services/tagging/_spring/taggingContext.xml",