From b834ed247bf1b40d35f21fb52a6482907f6c5633 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 15 Feb 2013 14:33:43 +0100
Subject: [PATCH] OO-534: implements drag and drop in tree with jQuery and for
 pool

---
 pom.xml                                       |   39 +-
 .../admin/user/UserSearchFlexiTableModel.java |    3 +-
 .../user/groups/GroupSearchController.java    |    3 +-
 .../org/olat/catalog/ui/_content/catalog.html |    2 +-
 .../chiefcontrollers/_content/body.html       |    7 +-
 .../persistence/PersistenceHelper.java        |   14 +
 .../core/commons/persistence/SortKey.java     |   57 +
 .../flexible/elements/FlexiTableElement.java  |   15 +
 .../form/flexible/impl/FormItemImpl.java      |    4 +-
 .../elements/TextAreaElementRenderer.java     |    2 +-
 .../table/DefaultFlexiColumnModel.java        |   39 +-
 .../impl/elements/table/FlexiColumnModel.java |    8 +
 .../elements/table/FlexiTableDataModel.java   |    4 +-
 .../table/FlexiTableDataModelImpl.java        |    3 +-
 .../elements/table/FlexiTableElementImpl.java |   50 +
 .../elements/table/FlexiTableModelMapper.java |   37 +-
 .../elements/table/FlexiTableRenderer.java    |  222 ++--
 .../core/gui/components/tree/MenuTree.java    |   28 +-
 .../gui/components/tree/MenuTreeRenderer.java |   76 +-
 .../core/gui/components/tree/_static/js/dd.js |  156 +--
 .../_content/index.html                       |    8 +-
 .../autocompletion/_content/autocomplete.html |    3 +
 .../textmarker/_content/tmContainer.html      |    3 +-
 .../control/winmgr/_content/serverpart.html   |   23 +-
 .../org/olat/core/gui/media/ServletUtil.java  |   12 +
 .../debug/GuiDebugDispatcherController.java   |    2 +-
 .../course/editor/EditorMainController.java   |    3 +-
 .../GroupsAndRightsController.java            |    3 +-
 .../wizard/ImportMemberOverviewDataModel.java |    3 +-
 .../olat/course/nodes/st/_content/run.html    |    2 +-
 .../course/tree/CourseEditorTreeModel.java    |    9 +-
 .../ui/main/EditMembershipController.java     |    3 +-
 .../GuiDemoWindowControlController.java       |   27 +-
 .../instantMessaging/ui/ChatController.java   |    5 +
 .../ui/_content/chatMsgField.html             |   12 +-
 .../modules/qpool/QuestionPoolService.java    |    3 +-
 .../olat/modules/qpool/manager/PoolDAO.java   |    6 +-
 .../manager/QuestionPoolServiceImpl.java      |    5 +-
 .../olat/modules/qpool/ui/ItemRowsSource.java |    4 +-
 .../modules/qpool/ui/MarkedItemsSource.java   |    3 +-
 .../qpool/ui/MyQuestionItemsSource.java       |    3 +-
 .../modules/qpool/ui/PooledItemsSource.java   |    5 +-
 .../qpool/ui/QuestionItemDataModel.java       |    7 +-
 .../modules/qpool/ui/QuestionItemsSource.java |    3 +-
 .../qpool/ui/QuestionListController.java      |   29 +-
 .../ui/QuestionPoolMainEditorController.java  |   49 +-
 .../qpool/ui/QuestionPoolMenuTreeModel.java   |   40 +
 .../modules/qpool/ui/QuestionsController.java |    4 +
 .../modules/qpool/ui/_content/item_list.html  |    6 +-
 .../qpool/ui/_i18n/LocalStrings_de.properties |    1 +
 src/main/webapp/static/js/functions.js        |   22 +-
 .../webapp/static/js/jquery/jquery-ui.css     |  474 --------
 .../js/jquery/ui/images/animated-overlay.gif  |  Bin 0 -> 1738 bytes
 .../ui/images/ui-bg_flat_0_aaaaaa_40x100.png  |  Bin 0 -> 274 bytes
 .../ui/images/ui-bg_flat_75_ffffff_40x100.png |  Bin 0 -> 271 bytes
 .../ui/images/ui-bg_glass_55_fbf9ee_1x400.png |  Bin 0 -> 387 bytes
 .../ui/images/ui-bg_glass_65_ffffff_1x400.png |  Bin 0 -> 272 bytes
 .../ui/images/ui-bg_glass_75_dadada_1x400.png |  Bin 0 -> 375 bytes
 .../ui/images/ui-bg_glass_75_e6e6e6_1x400.png |  Bin 0 -> 368 bytes
 .../ui/images/ui-bg_glass_95_fef1ec_1x400.png |  Bin 0 -> 384 bytes
 .../ui-bg_highlight-soft_75_cccccc_1x100.png  |  Bin 0 -> 360 bytes
 .../ui/images/ui-icons_222222_256x240.png     |  Bin 0 -> 6781 bytes
 .../ui/images/ui-icons_2e83ff_256x240.png     |  Bin 0 -> 4353 bytes
 .../ui/images/ui-icons_454545_256x240.png     |  Bin 0 -> 6854 bytes
 .../ui/images/ui-icons_888888_256x240.png     |  Bin 0 -> 6897 bytes
 .../ui/images/ui-icons_cd0a0a_256x240.png     |  Bin 0 -> 4353 bytes
 .../js/jquery/ui/jquery-ui-1.10.0.custom.css  | 1014 +++++++++++++++++
 .../{ => ui}/jquery-ui-1.10.0.custom.js       |    0
 .../jquery/ui/jquery-ui-1.10.0.custom.min.css |    5 +
 .../{ => ui}/jquery-ui-1.10.0.custom.min.js   |    0
 70 files changed, 1735 insertions(+), 835 deletions(-)
 create mode 100644 src/main/java/org/olat/core/commons/persistence/SortKey.java
 create mode 100644 src/main/java/org/olat/modules/qpool/ui/QuestionPoolMenuTreeModel.java
 delete mode 100644 src/main/webapp/static/js/jquery/jquery-ui.css
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/animated-overlay.gif
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_0_aaaaaa_40x100.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_75_ffffff_40x100.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_55_fbf9ee_1x400.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_65_ffffff_1x400.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_dadada_1x400.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_e6e6e6_1x400.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_95_fef1ec_1x400.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-icons_222222_256x240.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-icons_2e83ff_256x240.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-icons_454545_256x240.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-icons_888888_256x240.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/images/ui-icons_cd0a0a_256x240.png
 create mode 100755 src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.css
 rename src/main/webapp/static/js/jquery/{ => ui}/jquery-ui-1.10.0.custom.js (100%)
 create mode 100755 src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.css
 rename src/main/webapp/static/js/jquery/{ => ui}/jquery-ui-1.10.0.custom.min.js (100%)

diff --git a/pom.xml b/pom.xml
index 1b9cfd8ff6b..359e39ed828 100644
--- a/pom.xml
+++ b/pom.xml
@@ -125,38 +125,43 @@
 		        <version>1.3.0</version>
 		        <executions>
 		          <execution>
+                <phase>process-resources</phase>
 		            <goals>
 		              <goal>compress</goal>
 		            </goals>
 		          </execution>
 		        </executions>        
 		        <configuration>
-		          <nosuffix>true</nosuffix>
-		          <sourceDirectory>src/main/webapp/static/js/jquery</sourceDirectory>
+          		<suffix>.min</suffix>
+          		<force>true</force>
+		          <encoding>UTF-8</encoding>
     					<outputDirectory>${basedir}/target/jquery</outputDirectory>
+    					<sourceDirectory>${project.build.sourceDirectory}/../js</sourceDirectory>
+    					<!-- 
     					<excludes>
-		            <exclude>${basedir}/src/**/*.js</exclude>
+		            <exclude>**/*</exclude>
 		        	</excludes>
+		        	-->
+		        	<includes>
+		            <include>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.oolog.js</include>
+		           	<include>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.translator.js</include>
+		         		<include>${basedir}/src/main/webapp/static/js/jquery/periodic/jquery.periodic.js</include>
+		          	<include>${basedir}/src/main/webapp/static/js/jquery/tagit/tag-it.js</include>
+		          </includes>
+		          <!-- 
 		          <aggregations>
 		            <aggregation>
-		              <!-- insert new line after each concatenation (default: false) -->
-		              <insertNewLine>true</insertNewLine>
-		              <inputDir>${basedir}/src/main/webapp/static/js/jquery</inputDir>
-		              <output>${basedir}/target/jquery/all.js</output>
-		              <!-- files to include, path relative to output's directory or absolute path-->
-		              <!--inputDir>base directory for non absolute includes, default to parent dir of output</inputDir-->
+		            	<output>${basedir}/src/main/webapp/static/js/jquery/jquery.all.js</output>
+                	<removeIncluded>false</removeIncluded>
 		              <includes>
-		                <include>openolat/jquery.oolog.js</include>
-		                <include>openolat/jquery.translator.js</include>
+		                <include>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.oolog.js</include>
+		                <include>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.translator.js</include>
+		                <include>${basedir}/src/main/webapp/static/js/jquery/periodic/jquery.periodic.js</include>
+		                <include>${basedir}/src/main/webapp/static/js/jquery/tagit/tag-it.js</include>
 		              </includes>
-		              <!-- files to exclude, path relative to output's directory -->
-		              <excludes>
-		                <exclude>*.min.js</exclude>
-		                <exclude>*.js</exclude>
-		                <exclude>*.css</exclude>
-		              </excludes>
 		            </aggregation>
 		          </aggregations>
+		          -->
 		        </configuration>
 		      </plugin>
 				</plugins>
diff --git a/src/main/java/org/olat/admin/user/UserSearchFlexiTableModel.java b/src/main/java/org/olat/admin/user/UserSearchFlexiTableModel.java
index 4c90d53ded3..50faaf41661 100644
--- a/src/main/java/org/olat/admin/user/UserSearchFlexiTableModel.java
+++ b/src/main/java/org/olat/admin/user/UserSearchFlexiTableModel.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel;
 import org.olat.core.gui.components.table.DefaultTableDataModel;
@@ -58,7 +59,7 @@ public class UserSearchFlexiTableModel extends DefaultTableDataModel<UserResultW
 	}
 	
 	@Override
-	public void load(int firstResult, int maxResults) {
+	public void load(int firstResult, int maxResults, SortKey... sortedCol) {
 		//already loaded
 	}
 
diff --git a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
index bf16ac25b3c..6a986062f6b 100644
--- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
+++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
@@ -25,6 +25,7 @@ import java.util.List;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.PersistenceHelper;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
@@ -384,7 +385,7 @@ public class GroupSearchController extends StepFormBasicController {
 		}
 		
 		@Override
-		public void load(int firstResult, int maxResults) {
+		public void load(int firstResult, int maxResults, SortKey... orderBy) {
 			//already loaded
 		}
 
diff --git a/src/main/java/org/olat/catalog/ui/_content/catalog.html b/src/main/java/org/olat/catalog/ui/_content/catalog.html
index 90bb528300a..8f0e4e517c8 100644
--- a/src/main/java/org/olat/catalog/ui/_content/catalog.html
+++ b/src/main/java/org/olat/catalog/ui/_content/catalog.html
@@ -102,7 +102,7 @@
 								</div>
 <script type="text/javascript">
 /* <![CDATA[ */
-jQuery(document).ready(function() {
+jQuery(function() {
 	jQuery('#leaf$ri').tooltip({
 		items: "span",
 		content: function(){ return jQuery('#o_tooltip_$ri').html(); }	
diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html
index dc1172a6117..e0c3bbd1fe2 100644
--- a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html
+++ b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html
@@ -59,10 +59,11 @@ function b_start(){
 /* ]]> */
 </script>
 <script type="text/javascript" src='$r.staticLink("js/jquery/jquery-migrate-1.0.0.min.js")'></script>
-<script type="text/javascript" src='$r.staticLink("js/jquery/jquery-ui-1.10.0.custom.min.js")'></script>
-<link type="text/css" href='$r.staticLink("js/jquery/jquery-ui.css")' rel="stylesheet"/>
+<script type="text/javascript" src='$r.staticLink("js/jquery/ui/jquery-ui-1.10.0.custom.min.js")'></script>
+<link type="text/css" href='$r.staticLink("js/jquery/ui/jquery-ui-1.10.0.custom.min.css")' rel="stylesheet"/>
 <script type="text/javascript" src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script>
 <script type="text/javascript" src='$r.staticLink("js/jquery/datatables/jquery.dataTables.min.js")'></script>
+<link type="text/css" href='$r.staticLink("js/jquery/datatables/css/jquery.dataTables.css")' rel="stylesheet"/>
 
 <script type="text/javascript" src='$r.staticLink("js/jshashtable-2.1_src.js")'></script>
 <script type="text/javascript" src='$r.staticLink("js/jsMath/easy/load.js")'></script>
@@ -142,7 +143,7 @@ $r.render("olatContentPanel")
 <script type="text/javascript">
 /* <![CDATA[ */ 
 // init size and listen to text resize events
-jQuery(document).ready(function() {
+jQuery(function() {
 	b_initEmPxFactor(); /*Ext.EventManager.onTextResize(b_initEmPxFactor) */
 });
 /* ]]> */
diff --git a/src/main/java/org/olat/core/commons/persistence/PersistenceHelper.java b/src/main/java/org/olat/core/commons/persistence/PersistenceHelper.java
index 5b069725bbd..545e1ad8011 100644
--- a/src/main/java/org/olat/core/commons/persistence/PersistenceHelper.java
+++ b/src/main/java/org/olat/core/commons/persistence/PersistenceHelper.java
@@ -106,6 +106,20 @@ public class PersistenceHelper {
 		}
 		return result;
 	}
+	
+	public static void appendGroupBy(StringBuilder sb, String dbRef, SortKey... orderBy) {
+		if(orderBy != null && orderBy.length > 0 && orderBy[0] != null) {
+			sb.append(" order by ");
+			for(SortKey sort:orderBy) {
+				sb.append(dbRef).append(".").append(sort.getKey());
+				if(sort.isAsc()) {
+					sb.append(" asc ");
+				} else {
+					sb.append(" desc ");
+				}
+			}
+		}
+	}
 
 	/**
 	 * 
diff --git a/src/main/java/org/olat/core/commons/persistence/SortKey.java b/src/main/java/org/olat/core/commons/persistence/SortKey.java
new file mode 100644
index 00000000000..0902299f710
--- /dev/null
+++ b/src/main/java/org/olat/core/commons/persistence/SortKey.java
@@ -0,0 +1,57 @@
+/**
+ * <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.core.commons.persistence;
+
+/**
+ * 
+ * Initial date: 13.02.2013<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class SortKey {
+
+	private boolean asc;
+	private String key;
+	
+	public SortKey() {
+		//
+	}
+	
+	public SortKey(String key, boolean asc) {
+		this.key = key;
+		this.asc = asc;
+	}
+	
+	public boolean isAsc() {
+		return asc;
+	}
+	
+	public void setAsc(boolean asc) {
+		this.asc = asc;
+	}
+	
+	public String getKey() {
+		return key;
+	}
+	
+	public void setKey(String key) {
+		this.key = key;
+	}
+}
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
index 29b5f41c54c..cffb150310e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java
@@ -25,6 +25,8 @@
 */ 
 package org.olat.core.gui.components.form.flexible.elements;
 
+import java.util.Set;
+
 import org.olat.core.gui.components.form.flexible.FormItem;
 
 /**
@@ -34,6 +36,19 @@ public interface FlexiTableElement extends FormItem {
 
 	public static final String ROM_SELECT_EVENT = "rSelect";
 	
+
+	public boolean isMultiSelect();
+	
+	public Set<Integer> getMultiSelectedIndex();
+	
+	public boolean isMultiSelectedIndex(int index);
+	
+	/**
+	 * Enable multi-selection
+	 * @return
+	 */
+	public void setMultiSelect(boolean enable);
+	
 	
 	public int getPageSize();
 	
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormItemImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormItemImpl.java
index eff4ca063d1..bfe387bac0c 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormItemImpl.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormItemImpl.java
@@ -582,7 +582,9 @@ public abstract class FormItemImpl implements FormItem, InlineElement {
 	/**
 	 * @see org.olat.core.gui.components.form.flexible.FormComponent#validate(java.util.List)
 	 */
-	public abstract void validate(List<ValidationStatus> validationResults);
+	public void validate(List<ValidationStatus> validationResults) {
+		
+	}
 
 	/**
 	 * @see org.olat.core.gui.components.form.flexible.FormItem#reset()
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
index 7fea36d4ef9..c576cfeeef0 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
@@ -141,7 +141,7 @@ class TextAreaElementRenderer implements ComponentRenderer {
 
 		// resize element to fit content
 		if (teC.isAutoHeightEnabled()) {
-			sb.append("<script type='text/javascript'>jQuery(document).ready(function(){try{var iter=0; var obj=$('");
+			sb.append("<script type='text/javascript'>jQuery(function(){try{var iter=0; var obj=$('");
 			sb.append(id);
 			if (!source.isEnabled()) sb.append("_disabled");			
 			sb.append("');while (obj.scrollHeight>obj.offsetHeight && iter < 99){ iter++; obj.rows = obj.rows + 1}} catch(e){}});</script>");
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
index 22dfabe6071..22b9c759eee 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/DefaultFlexiColumnModel.java
@@ -33,21 +33,54 @@ package org.olat.core.gui.components.form.flexible.impl.elements.table;
  */
 public class DefaultFlexiColumnModel implements FlexiColumnModel {
 
-	
 	private String headerKey;
+
+	private boolean sortable;
+	private String sortedKey;
+	
 	private int alignment;
 	private FlexiCellRenderer cellRenderer;
 
 	public DefaultFlexiColumnModel(String headerKey) {
+		this(headerKey, false, null);
+	}
+	
+	public DefaultFlexiColumnModel(String headerKey, boolean sortable, String sortKey) {
+		this(headerKey, sortable, sortKey, FlexiColumnModel.ALIGNMENT_LEFT,  new TextFlexiCellRenderer());
+	}
+	
+	public DefaultFlexiColumnModel(String headerKey, boolean sortable, String sortKey, int alignment, FlexiCellRenderer cellRenderer) {
+		this.sortable = sortable;
+		this.sortedKey = sortKey;
 		this.headerKey = headerKey;
-		this.alignment = FlexiColumnModel.ALIGNMENT_LEFT;
-		this.cellRenderer = new TextFlexiCellRenderer();
+		this.alignment = alignment;
+		this.cellRenderer = cellRenderer;
 	}
 	
 	public String getHeaderKey() {
 		return headerKey;
 	}
 
+	@Override
+	public boolean isSortable() {
+		return sortable;
+	}
+
+	@Override
+	public void setSortable(boolean enable) {
+		sortable = enable;
+	}
+
+	@Override
+	public String getSortKey() {
+		return sortedKey;
+	}
+
+	@Override
+	public void setSortKey(String sortedKey) {
+		this.sortedKey = sortedKey;
+	}
+
 	public int getAlignment() {
 		return alignment;
 	}
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java
index 794b6ee315a..35c8711cad8 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiColumnModel.java
@@ -36,6 +36,14 @@ public interface FlexiColumnModel {
 	public static int ALIGNMENT_LEFT = 1;
 	public static int ALIGNMENT_RIGHT = 2;
 	public static int ALIGNMENT_CENTER = 3;
+	
+	public boolean isSortable();
+	
+	public void setSortable(boolean enable);
+	
+	public String getSortKey();
+
+	public void setSortKey(String sortedKey);
 
 	public String getHeaderKey();
 
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModel.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModel.java
index 6f7d06fb993..c687835c3f3 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModel.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModel.java
@@ -26,6 +26,8 @@
 
 package org.olat.core.gui.components.form.flexible.impl.elements.table;
 
+import org.olat.core.commons.persistence.SortKey;
+
 /**
  * Interface for table data model including column models.
  * @author Christian Guretzki
@@ -42,7 +44,7 @@ public interface FlexiTableDataModel {
 	 * @param firstResult
 	 * @param maxResults
 	 */
-	public void load(int firstResult, int maxResults);
+	public void load(int firstResult, int maxResults, SortKey... orderBy);
 
 	/**
 	 * Return Object for certain table cell.
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModelImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModelImpl.java
index f7179b6c65b..549c65433fe 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModelImpl.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableDataModelImpl.java
@@ -26,6 +26,7 @@
 
 package org.olat.core.gui.components.form.flexible.impl.elements.table;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.table.TableDataModel;
 
 /**
@@ -59,7 +60,7 @@ public class FlexiTableDataModelImpl<T> implements FlexiTableDataModel {
 	}
 
 	@Override
-	public void load(int firstResult, int maxResults) {
+	public void load(int firstResult, int maxResults, SortKey... orderby) {
 		//already loaded
 	}
 
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
index 05b66800b3b..39eb0c1c633 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java
@@ -25,9 +25,12 @@
 */ 
 package org.olat.core.gui.components.form.flexible.impl.elements.table;
 
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.dispatcher.mapper.MapperService;
@@ -49,6 +52,9 @@ import org.olat.core.util.ValidationStatus;
  */
 public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableElement, FormItemCollection {
 
+	//settings
+	private boolean multiSelect;
+	
 	private int rowCount = -1;
 	private int pageSize;
 	
@@ -56,6 +62,7 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 	private FlexiTableComponent component;
 	private String mapperUrl;
 	
+	private Set<Integer> multiSelectedIndex;
 	private Map<String,FormItem> components = new HashMap<String,FormItem>();
 	
 	public FlexiTableElementImpl(UserRequest ureq, String name, FlexiTableDataModel tableModel) {
@@ -79,6 +86,13 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 		}
 	}
 	
+	public boolean isMultiSelect() {
+		return multiSelect;
+	}
+	public void setMultiSelect(boolean multiSelect) {
+		this.multiSelect = multiSelect;
+	}
+	
 	@Override
 	public int getPageSize() {
 		return pageSize;
@@ -117,6 +131,11 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 	 */
 	@Override
 	public void evalFormRequest(UserRequest ureq) {
+		String[] selectedIndexArr = getRootForm().getRequestParameterValues("ftb_ms");
+		if(selectedIndexArr != null) {
+			setMultiSelectIndex(selectedIndexArr);
+		}
+
 		String selectedIndex = getRootForm().getRequestParameter("select");
 		if(StringHelper.containsNonWhitespace(selectedIndex)) {
 			int index = selectedIndex.lastIndexOf('-');
@@ -138,6 +157,37 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle
 	protected void doSelect(UserRequest ureq, int index) {
 		getRootForm().fireFormEvent(ureq, new SelectionEvent(ROM_SELECT_EVENT, index, this, FormEvent.ONCLICK));
 	}
+	
+	public Set<Integer> getMultiSelectedIndex() {
+		return multiSelectedIndex == null ? Collections.<Integer>emptySet() : multiSelectedIndex;
+	}
+	
+	public boolean isMultiSelectedIndex(int index) {
+		if(multiSelectedIndex == null) {
+			return false;
+		}
+		return multiSelectedIndex.contains(new Integer(index));
+	}
+	
+	protected void setMultiSelectIndex(String[] selections) {
+		if(multiSelectedIndex == null) {
+			multiSelectedIndex = new HashSet<Integer>();
+		}
+		multiSelectedIndex.clear();
+		//selection format row_{formDispId}-{index}
+		if(selections.length > 0) {
+			int index = selections[0].lastIndexOf('-');
+			if(index > 0) {
+				for(String selection:selections) {	
+					if(index > 0 && index+1 < selection.length()) {
+						String rowStr = selection.substring(index+1);
+						int row = Integer.parseInt(rowStr);
+						multiSelectedIndex.add(new Integer(row));
+					}
+				}
+			}
+		}
+	}
 
 	@Override
 	public void validate(List<ValidationStatus> validationResults) {
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java
index a1ee3117da3..b88e6e93291 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableModelMapper.java
@@ -25,9 +25,9 @@ import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.dispatcher.mapper.Mapper;
 import org.olat.core.gui.Windows;
-import org.olat.core.gui.components.Window;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.control.ChiefController;
 import org.olat.core.gui.media.JSONMediaResource;
@@ -61,10 +61,26 @@ public class FlexiTableModelMapper implements Mapper {
 		String firstRowStr = request.getParameter("iDisplayStart");
 		String maxRowStr = request.getParameter("iDisplayLength");
 		String echo = request.getParameter("sEcho");
-
+		String sortCol = request.getParameter("iSortCol_0");
+		String sortDir = request.getParameter("sSortDir_0");
 		
+		int sortedColIndex = -1;
+		if(StringHelper.containsNonWhitespace(sortCol)) {
+			sortedColIndex = Integer.parseInt(sortCol);
+			if(ftE.isMultiSelect()) {
+				sortedColIndex--;
+			}
+		}
+
 		if(StringHelper.isLong(firstRowStr) && StringHelper.isLong(maxRowStr)) {
 			FlexiTableDataModel model = ftE.getTableDataModel();
+			FlexiTableColumnModel columnModel = model.getTableColumnModel();
+			
+			SortKey orderBy = null;
+			if(sortedColIndex >= 0 && sortedColIndex < columnModel.getColumnCount()) {
+				FlexiColumnModel sortedColumn = model.getTableColumnModel().getColumnModel(sortedColIndex);
+				orderBy = new SortKey(sortedColumn.getSortKey(), "asc".equals(sortDir));
+			}
 
 			int rows = ftE.getTableDataModel().getRowCount();
 			String dispatchId = ftE.getComponent().getDispatchID();
@@ -83,8 +99,8 @@ public class FlexiTableModelMapper implements Mapper {
 				int maxRows = Integer.parseInt(maxRowStr);
 				int lastRow = Math.min(rows, firstRow + maxRows);
 				//paged loading
-				model.load(firstRow, maxRows);
-				
+				model.load(firstRow, maxRows, orderBy);
+
 				for (int i = firstRow; i < lastRow; i++) {
 					JSONObject row = new JSONObject();
 					
@@ -100,6 +116,16 @@ public class FlexiTableModelMapper implements Mapper {
 					}
 					ftE.addFormItem(select);
 					ftE.addFormItem(mark);
+					
+					if(ftE.isMultiSelect()) {
+						StringBuilder sb = new StringBuilder();
+						sb.append("<input type='checkbox' name='ftb_ms' value='").append(rowIdPrefix).append(i).append("'");
+						if(ftE.isMultiSelectedIndex(i)) {
+							sb.append(" checked='checked'");
+						}   
+						sb.append(">");
+						row.put("choice", sb.toString());
+					}
 
 					row.put("key", key);
 					row.put("subject", subject);
@@ -125,7 +151,6 @@ public class FlexiTableModelMapper implements Mapper {
 	private String renderFormItem(FormItem item, HttpServletRequest request, Translator translator) {
 		UserSession usess = CoreSpringFactory.getImpl(UserSessionManager.class).getUserSession(request);
 		ChiefController cc = (ChiefController)Windows.getWindows(usess).getAttribute("AUTHCHIEFCONTROLLER");
-		Window w = cc.getWindow();
-		return w.renderComponent(item.getComponent());
+		return cc.getWindow().renderComponent(item.getComponent());
 	}
 }
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableRenderer.java
index 87c536e2b74..bed04eb0d64 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableRenderer.java
@@ -58,48 +58,135 @@ class FlexiTableRenderer implements ComponentRenderer {
 		//
 		FlexiTableComponent ftC = (FlexiTableComponent) source;
 		FlexiTableElementImpl ftE = ftC.getFlexiTableElement();
+		FlexiTableDataModel dataModel = ftE.getTableDataModel();
+		
 		Form rootForm = ftE.getRootForm();
 		String id = ftC.getFormDispatchId();
-		//
-		if (!source.isEnabled()) {
-			// read only view
-			// ...
-		} else {
-			// read write view
-			// ...
-		}
-		target.append("<div class=\"b_table_wrapper b_floatscrollbox\">");// TODO:cg: ev add $!tableConfig.getCustomCssClass()
-		
-		// starting real table table
-		target.append("<table id=\"").append(id).append("\">");
 
-		int rows = ftE.getTableDataModel().getRowCount();
-		int cols = ftE.getTableDataModel().getTableColumnModel().getColumnCount();
+		target.append("<div class=\"b_table_wrapper b_floatscrollbox\">")
+		      .append("<table id=\"").append(id).append("\">");
+		      
+		renderTHead(target, ftE, translator);
+		renderTBody(renderer, target, ftC, ubu, translator, renderResult);
 
-		// 1. build header links
+		target.append("</table>")
+		       .append("</div>");
+		
+		if (source.isEnabled()) {
+			target.append(FormJSHelper.getJSStartWithVarDeclaration(id));
+			target.append(FormJSHelper.getSetFlexiFormDirty(ftE.getRootForm(), id));
+			target.append(FormJSHelper.getJSEnd());
+		}
+		
+		int rows = dataModel.getRowCount();
+		
+		target.append("<script>")
+		  .append("jQuery(function() {\n")
+      .append("	jQuery('#").append(id).append("').dataTable( {\n")
+      .append("		'bScrollInfinite': true,\n")
+      .append("		'bScrollCollapse': true,\n")
+      .append("		'sScrollY': '200px',\n")
+      .append("		'bProcessing': true,\n")
+      .append("		'bServerSide': true,\n")
+      .append("		'iDisplayLength': 20,\n")
+      .append("		'iDeferLoading': ").append(rows).append(",\n")
+      .append("		'sAjaxSource': '").append(ftE.getMapperUrl()).append("',\n")
+      .append("		'fnRowCallback': function( nRow, aData, iDisplayIndex ) {\n")
+      .append("			jQuery(nRow).draggable({ ")
+      .append("				containment: '#b_main',")
+      .append("				accept: function(event,ui){ console.log('Accept'); return true; },\n")
+      .append("				helper: function(event) {\n")
+      .append("				  return jQuery(\"<div class='ui-widget-header' style='z-index:10000;'>I'm a custom helper</div>\");\n")
+      .append("				},\n")
+      .append("				start: function(event,ui){ console.log('Start'); },\n")
+      .append("				stop: function(event,ui){ console.log('Stop'); }\n")
+      .append("			});\n")
+      .append("		},\n")
+      .append("		'aoColumns': [\n")
+      .append("			{'mData':'choice', bSortable: false },\n")
+      .append("			{'mData':'key'},\n")
+      .append("			{'mData':'subject'},\n")
+      .append("			{'mData':'select', bSortable: false },\n")
+      .append("			{'mData':'mark', bSortable: false }\n")
+      .append("		]\n")
+      .append("	});\n")
+      //clic rows
+      .append("	jQuery('#").append(id).append(" tbody tr').live('click', function(event, ui) {\n")
+      .append("   var link = false;\n")
+      .append("   var rowId = null;\n")
+      .append("   if(event.target.tagName == 'A' || event.target.tagName == 'INPUT') {\n")
+      .append("     return;\n")
+      .append("   }\n")
+      .append("   jQuery(event.target).parents().each(function(index,el) {\n")
+      .append("     if(el.tagName == 'A' || el.tagName == 'INPUT') {\n")
+      .append("       link = true;\n")
+      .append("     } else if (el.tagName == 'TR' && rowId == null) {\n")
+      .append("       rowId = jQuery(el).attr('id');\n")
+      .append("       return false;\n")
+      .append("     }\n")
+      .append("   });\n")
+      .append("	  if(!link) {\n")
+      .append(FormJSHelper.generateXHRFnCallVariables(rootForm, id, 1))
+      .append("    o_ffXHREvent(formNam, dispIdField, dispId, eventIdField, eventInt,'select',rowId);")
+      .append("   };")
+      .append("	});\n")
+      .append("});\n")
+		  .append("</script>\n");
+	}
+	
+	/**
+	 * 
+	 * @param target
+	 * @param ftE
+	 * @param translator
+	 */
+	private void renderTHead(StringOutput target, FlexiTableElementImpl ftE, Translator translator) {
+		FlexiTableDataModel dataModel = ftE.getTableDataModel();
+		FlexiTableColumnModel columnModel = dataModel.getTableColumnModel();
+		      
 		target.append("<thead><tr>");
 
-		for (int i = 0; i<cols; i++) {
-				FlexiColumnModel fcm = ftE.getTableDataModel().getTableColumnModel().getColumnModel(i);
-				String header = translator.translate(fcm.getHeaderKey());
-
-				target.append("<th class=\"");
-				// add css class for first and last column to support older browsers
-				if (i == 0) target.append(" b_first_child");
-				if (i == cols-1) target.append(" b_last_child");
-				target.append("\">");
-				target.append(header);
-				target.append("</th>");
+		int col = 0;
+		if(ftE.isMultiSelect()) {
+			target.append("<th class='b_first_child'>").append("choice").append("</th>");
+			col++;
+		}
+		
+		int cols = columnModel.getColumnCount();
+		for(int i=0; i<cols; i++) {
+			FlexiColumnModel fcm = columnModel.getColumnModel(i);
+			String header = translator.translate(fcm.getHeaderKey());
+				
+			target.append("<th class=\"");
+			// add css class for first and last column to support older browsers
+			if (col == 0) target.append(" b_first_child");
+			if (col == cols-1) target.append(" b_last_child");
+			target.append("\">").append(header).append("</th>");
+			col++;
   	}
 		target.append("</tr></thead>");
+	}
+	
+	public void renderTBody(Renderer renderer, StringOutput target, FlexiTableComponent ftC,
+			URLBuilder ubu, Translator translator, RenderResult renderResult) {
+		
+		String id = ftC.getFormDispatchId();
+		FlexiTableElementImpl ftE = ftC.getFlexiTableElement();
+		FlexiTableDataModel dataModel = ftE.getTableDataModel();
+		FlexiTableColumnModel columnModel = dataModel.getTableColumnModel();
 
 		// build rows
 		target.append("<tbody>");
-		// the really selected rowid (from the tabledatamodel)
 		
+		// the really selected rowid (from the tabledatamodel)
 		int firstRow = ftE.getFirstRow();
 		int maxRows = ftE.getMaxRows();
+		int rows = dataModel.getRowCount();
 		int lastRow = Math.min(rows, firstRow + maxRows);
+		int cols = columnModel.getColumnCount();
+		
+		String rowIdPrefix = "row_" + id + "-";
+		
 		for (int i = firstRow; i < lastRow; i++) {
 			// use alternating css class
 			String cssClass;
@@ -109,17 +196,29 @@ class FlexiTableRenderer implements ComponentRenderer {
 			if (i == 0) cssClass += " b_first_child";
 			if (i == rows-1) cssClass += " b_last_child";
 
-			target.append("<tr id='row_").append(id).append("-").append(i)
+			target.append("<tr id='").append(rowIdPrefix).append(i)
 			      .append("' class=\"").append(cssClass).append("\">");
+			
+			int col = 0;
+			if(ftE.isMultiSelect()) {
+				target.append("<td class='b_first_child'>")
+				      .append("<input type='checkbox' name='ftb_ms' value='").append(rowIdPrefix).append(i).append("'");
+				if(ftE.isMultiSelectedIndex(i)) {
+					target.append(" checked='checked'");
+				}   
+				target.append("/></td>");
+				col++;
+			}
+			
 			for (int j = 0; j < cols; j++) {
 				FlexiColumnModel fcm = ftE.getTableDataModel().getTableColumnModel().getColumnModel(j);
 				int alignment = fcm.getAlignment();
 				cssClass = (alignment == FlexiColumnModel.ALIGNMENT_LEFT ? "b_align_normal" : (alignment == FlexiColumnModel.ALIGNMENT_RIGHT ? "b_align_inverse" : "b_align_center"));
 				// add css class for first and last column to support older browsers
-				if (j == 0) cssClass += " b_first_child";
-				if (j == cols-1) cssClass += " b_last_child";				
+				if (col == 0) cssClass += " b_first_child";
+				if (col == cols-1) cssClass += " b_last_child";				
 				target.append("<td class=\"").append(cssClass).append("\">");
-				if (j == 0) target.append("<a name=\"table\"></a>"); //add once for accessabillitykey
+				if (col == 0) target.append("<a name=\"table\"></a>"); //add once for accessabillitykey
 				
 				Object cellValue = ftE.getTableDataModel().getValueAt(i, j);
 				if (cellValue instanceof FormItem) {
@@ -128,7 +227,8 @@ class FlexiTableRenderer implements ComponentRenderer {
 					if(ftE.getRootForm() != formItem.getRootForm()) {
 						formItem.setRootForm(ftE.getRootForm());
 					}
-					formItem.getComponent().getHTMLRendererSingleton().render(renderer, target, formItem.getComponent(), ubu, translator, renderResult, args);
+					formItem.getComponent().getHTMLRendererSingleton().render(renderer, target, formItem.getComponent(),
+							ubu, translator, renderResult, null);
 					ftE.addFormItem(formItem);
 				} else {
 					ftE.getTableDataModel().getTableColumnModel().getColumnModel(j).
@@ -140,63 +240,7 @@ class FlexiTableRenderer implements ComponentRenderer {
 			
 		}				
 		// end of table table
-		target.append("</tbody></table>");
-		target.append("</div>");
-		
-		if (source.isEnabled()) {
-			// add set dirty form only if enabled
-			target.append(FormJSHelper.getJSStartWithVarDeclaration(id));
-			/* deactivated due OLAT-3094 and OLAT-3040
-			if (ftE.hasFocus()) {
-				target.append(FormJSHelper.getFocusFor(id));
-			}
-			*/
-			target.append(FormJSHelper.getSetFlexiFormDirty(ftE.getRootForm(), id));
-			target.append(FormJSHelper.getJSEnd());
-		}
-		
-		target.append("<script>")
-		  .append("jQuery(document).ready(function() {\n")
-      .append("	jQuery('#").append(id).append("').dataTable( {\n")
-      .append("		'bScrollInfinite': true,\n")
-      .append("		'bScrollCollapse': true,\n")
-      .append("		'sScrollY': '200px',\n")
-      .append("		'bProcessing': true,\n")
-      .append("		'bServerSide': true,\n")
-      .append("		'iDisplayLength': 20,\n")
-      .append("		'iDeferLoading': ").append(rows).append(",\n")
-      .append("		'sAjaxSource': '").append(ftE.getMapperUrl()).append("',\n")
-      .append("		'fnRowCallback': function( nRow, aData, iDisplayIndex ) {\n")
-      .append("			jQuery(nRow).draggable({ ")
-      .append("				start: function(event,ui){ console.log('Start'); },\n")
-      .append("				stop: function(event,ui){ console.log('Stop'); }\n")
-      .append("			});\n")
-      .append("		},\n")
-      .append("		'aoColumns': [\n")
-      .append("			{'mData':'key'},\n")
-      .append("			{'mData':'subject'},\n")
-      .append("			{'mData':'select'},\n")
-      .append("			{'mData':'mark'}\n")
-      .append("		]\n")
-      .append("	});\n")
-      //clic rows
-      .append("	jQuery('#").append(id).append(" tbody tr').live('click', function(event, ui) {\n")
-      .append("   var link = false;\n")
-      .append("   var rowId = null;\n")
-      .append("   jQuery(event.target).parents().each(function(index,el) {\n")
-      .append("     if(el.tagName == 'A') {")
-      .append("       link = true;\n")
-      .append("     } else if (el.tagName == 'TR' && rowId == null) {\n")
-      .append("       rowId = jQuery(el).attr('id');\n")
-      .append("     }\n")
-      .append("   });\n")
-      .append("	  if(!link) {\n")
-      .append(FormJSHelper.generateXHRFnCallVariables(rootForm, id, 1))
-      .append("    o_ffXHREvent(formNam, dispIdField, dispId, eventIdField, eventInt,'select',rowId);")
-      .append("   };")
-      .append("	});\n")
-      .append("});\n")
-		  .append("</script>\n");
+		target.append("</tbody>");
 	}
 
 	/**
diff --git a/src/main/java/org/olat/core/gui/components/tree/MenuTree.java b/src/main/java/org/olat/core/gui/components/tree/MenuTree.java
index 9e490227c5d..92228677d4c 100644
--- a/src/main/java/org/olat/core/gui/components/tree/MenuTree.java
+++ b/src/main/java/org/olat/core/gui/components/tree/MenuTree.java
@@ -106,7 +106,8 @@ public class MenuTree extends Component {
 	private String selectedNodeId = null;
 	private Set<String> openNodeIds = new HashSet<String>();
 	private boolean expandServerOnly = true; // default is serverside menu
-	private boolean dragAndDropEnabled = false; 
+	private boolean dragEnabled = false;
+	private boolean dropEnabled = false;
 	private boolean expandSelectedNode = true;
 	private boolean rootVisible = true;
 	//fxdiff VCRP-9: drag and drop in menu tree
@@ -172,7 +173,7 @@ public class MenuTree extends Component {
 			String sneValue = ureq.getParameter(SIBLING_NODE);
 			boolean sibling = StringHelper.containsNonWhitespace(sneValue);
 			boolean atTheEnd = "end".equals(sneValue);
-			handleDropped(ureq, nodeId, targetNodeId, sibling, atTheEnd);
+			handleDropped(ureq, targetNodeId, nodeId, sibling, atTheEnd);
 		}
 	}
 	
@@ -305,9 +306,8 @@ public class MenuTree extends Component {
 	}
 	
 	@Override
-	//fxdiff VCRP-9: drag and drop in menu tree
 	public void validate(UserRequest ureq, ValidationResult vr) {
-		if(dragAndDropEnabled) {
+		if(dragEnabled || dropEnabled) {
 			dragAndDropCmp.validate(ureq, vr);
 			if(dndFeedbackUri == null && treeModel instanceof DnDTreeModel) {
 				dndFeedbackUri = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), new DnDFeedbackMapper(this));
@@ -399,18 +399,26 @@ public class MenuTree extends Component {
 		this.expandServerOnly = expandServerOnly;
 	}
 	
+	public boolean isDragEnabled() {
+		return dragEnabled;
+	}
+
 	/**
-	 * @return Is Drag & Drop enable for the tree
+	 * @param enableDragAndDrop Enable or not drag and drop
 	 */
-	public boolean isDragAndDropEnabled() {
-		return dragAndDropEnabled;
+	public void setDragEnabled(boolean enabled) {
+		dragEnabled = enabled;
 	}
 
 	/**
-	 * @param enableDragAndDrop Enable or not drag and drop
+	 * @return Is Drag & Drop enable for the tree
 	 */
-	public void setDragAndDropEnabled(boolean dragAndDropEnabled) {
-		this.dragAndDropEnabled = dragAndDropEnabled;
+	public boolean isDropEnabled() {
+		return dropEnabled;
+	}
+	
+	public void setDropEnabled(boolean enabled) {
+		dropEnabled = enabled;
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
index 8103eda259c..8cb0687156c 100644
--- a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
@@ -96,7 +96,7 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		
 		AJAXFlags flags = renderer.getGlobalSettings().getAjaxFlags();
 		target.append("\n<div id='dd1-ct' class='b_tree");
-		if(tree.isDragAndDropEnabled()) {
+		if(tree.isDragEnabled() || tree.isDropEnabled()) {
 			target.append(" b_dd_ct");
 		}
 		if(!tree.isRootVisible()) {
@@ -145,7 +145,7 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		}
 		String ident = curRoot.getIdent();
 		target.append("\"><div id='dd").append(ident).append("' class=\"b_tree_item_wrapper");
-		if(tree.isDragAndDropEnabled()) {
+		if(tree.isDragEnabled() || tree.isDropEnabled()) {
 			target.append(" b_dd_item");
 		}
 		if(selected) {
@@ -153,7 +153,7 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		}
 		target.append("\">");
 		
-		if(tree.isDragAndDropEnabled()) {
+		if(tree.isDragEnabled() || tree.isDropEnabled()) {
 			appendDragAndDropObj(curRoot, tree, target, ubu, flags);
 		}
 		
@@ -265,7 +265,7 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		
 		// display title and close menu item
 		target.append("<span");
-		if(tree.isDragAndDropEnabled()) {
+		if(tree.isDragEnabled() || tree.isDropEnabled()) {
 			target.append(" class='b_dd_item' id='da").append(ident).append("'");
 		}
 		target.append(">");
@@ -280,8 +280,8 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		target.append("</div>");
 		
 		//append div to drop as sibling
-		if(!renderChildren && tree.isDragAndDropEnabled()) {
-			appendSiblingDropObj(curRoot, level, tree, target, false);
+		if(!renderChildren && (tree.isDragEnabled() || tree.isDropEnabled())) {
+			appendSiblingDropObj(curRoot, level, tree, target, ubu, flags, false);
 		}
 		
 		if (renderChildren) {
@@ -289,8 +289,8 @@ public class MenuTreeRenderer implements ComponentRenderer {
 			renderChildren(target, level, curRoot, selPath, openNodeIds, ubu, flags, markedNode, tree);
 			
 			//append div to drop as sibling after the children
-			if(tree.isDragAndDropEnabled()) {
-				appendSiblingDropObj(curRoot, level, tree, target, true);
+			if(tree.isDragEnabled() || tree.isDropEnabled()) {
+				appendSiblingDropObj(curRoot, level, tree, target, ubu, flags, true);
 			}
 		}
 		
@@ -315,33 +315,43 @@ public class MenuTreeRenderer implements ComponentRenderer {
 	}
 	
 	//fxdiff VCRP-9: drag and drop in menu tree
-	private void appendSiblingDropObj(TreeNode node, int level, MenuTree tree, StringOutput target, boolean after) {
-		String id = (after ? "dt" : "ds") + node.getIdent();
-		target.append("<div id='").append(id).append("' class='b_dd_sibling b_dd_sibling_l").append(level).append("'>")
-			//.append("<script type='text/javascript'>Ext.get('").append(id).append("').dd = new Ext.dd.DDTarget('").append(id).append("','").append(dndGroup).append("');</script>")
-			.append("<script type='text/javascript'>jQuery('#").append(id)
-			.append("').droppable({hoverClass:'b_dd_over', accept: treeAcceptDrop, over: onTreeDragOver, out:onTreeDragOut, drop:onTreeDrop});</script>")
-			.append("&nbsp;&nbsp;</div>");
+	private void appendSiblingDropObj(TreeNode node, int level, MenuTree tree, StringOutput target, URLBuilder ubu, AJAXFlags flags, boolean after) {
+		if(tree.isDropEnabled()) {
+			String id = (after ? "dt" : "ds") + node.getIdent();
+			target.append("<div id='").append(id).append("' class='b_dd_sibling b_dd_sibling_l").append(level).append("'>")
+				.append("<script type='text/javascript'>jQuery('#").append(id).append("')");
+			appendDroppable(node, tree, target, ubu, flags);
+			target.append("</script>&nbsp;&nbsp;</div>");
+		}
 	}
 	
 	//fxdiff VCRP-9: drag and drop in menu tree
 	private void appendDragAndDropObj(TreeNode node, MenuTree tree, StringOutput target, URLBuilder ubu, AJAXFlags flags) {
 		String id = node.getIdent();
-		String feedBackUri = tree.getDndFeedbackUri();
-		StringOutput endUrl = new StringOutput();
-		ubu.buildURI(endUrl, new String[] { COMMAND_ID, NODE_IDENT }, new String[] { COMMAND_TREENODE_DROP, id }, flags.isIframePostEnabled() ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
-		target.append("<script type='text/javascript'>")
-		 //.append("Ext.get('dd").append(id).append("').dd = new Ext.fxMenuTree.DDProxy('dd").append(id).append("','").append(dndGroup).append("','").append(endUrl).append("','").append(feedBackUri).append("');")
-		 //.append("Ext.get('da").append(id).append("').dd = new Ext.fxMenuTree.DDProxy('da").append(id).append("','").append(dndGroup).append("','").append(endUrl).append("','").append(feedBackUri).append("');")
-		 .append("jQuery('#dd").append(id).append("')");
-		appendDraggable(target);
-		target.append("jQuery('#da").append(id).append("')");
-		appendDraggable(target);
+		target.append("<script type='text/javascript'>");
+		
+		if(tree.isDragEnabled()) {
+			target.append("jQuery('#dd").append(id).append("')");
+			appendDraggable(target);
+			target.append("jQuery('#da").append(id).append("')");
+			appendDraggable(target);
+		}
+		if(tree.isDropEnabled()) {
+			target.append("jQuery('#dd").append(id).append("')");
+			appendDroppable(node, tree, target, ubu, flags);
+		}
 		target.append("</script>");
 	}
 	
+	private void appendDroppable(TreeNode node, MenuTree tree, StringOutput sb, URLBuilder ubu, AJAXFlags flags) {
+		String feedBackUri = tree.getDndFeedbackUri();
+		StringOutput endUrl = new StringOutput(64);
+		ubu.buildURI(endUrl, new String[] { COMMAND_ID, NODE_IDENT }, new String[] { COMMAND_TREENODE_DROP, node.getIdent() }, flags.isIframePostEnabled() ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
+		sb.append(".droppable({ fbUrl: '").append(feedBackUri).append("', endUrl: '").append(endUrl).append("', hoverClass:'b_dd_over', accept: treeAcceptDrop, drop:onTreeDrop});");
+	}
+	
 	private void appendDraggable(StringOutput sb) {
-		sb.append(".draggable({start:onTreeStartDrag, revert:'invalid' });");
+		sb.append(".draggable({start:onTreeStartDrag, stop: onTreeStopDrag, revert:'invalid' });");
 	}
 	
 	//fxdiff VCRP-9: drag and drop in menu tree
@@ -386,21 +396,11 @@ public class MenuTreeRenderer implements ComponentRenderer {
 		return (curSel == curRoot);
 	}
 
-	/**
-	 * @see org.olat.core.gui.render.ui.ComponentRenderer#renderHeaderIncludes(org.olat.core.gui.render.Renderer,
-	 *      org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component,
-	 *      org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator)
-	 */
 	public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate) {
-		// nothing to include
+		//
 	}
 
-	/**
-	 * @see org.olat.core.gui.render.ui.ComponentRenderer#renderBodyOnLoadJSFunctionCall(org.olat.core.gui.render.Renderer,
-	 *      org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component)
-	 */
 	public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) {
-	//
+		//
 	}
-
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/components/tree/_static/js/dd.js b/src/main/java/org/olat/core/gui/components/tree/_static/js/dd.js
index 35aad436a5d..aaa11220231 100644
--- a/src/main/java/org/olat/core/gui/components/tree/_static/js/dd.js
+++ b/src/main/java/org/olat/core/gui/components/tree/_static/js/dd.js
@@ -1,108 +1,70 @@
-function onTreeStartDrag(e, targetId) {
-	console.log('onTreeStartDrag', e, targetId);
+function onTreeStartDrag(event, ui) {
+	jQuery(event.target).addClass('b_dd_proxy');
 }
 
-function onTreeDragOver(e, targetId) {
-	console.log('onTreeDragOver', e, targetId);
+function onTreeStopDrag(event, ui) {
+	jQuery(event.target).removeClass('b_dd_proxy');
 }
 
-function onTreeDragOut(e, targetId) {
-	console.log('onTreeDragOut', e, targetId);
-}
-	
-function onTreeEndDrag(e, targetId) {
-	console.log('onTreeEndDrag', e, targetId);
-}
-
-function onTreeAccept(e, targetId) {
-	console.log('onTreeAccept', e, targetId);
-}
+function onTreeDrop(event, ui) {
+	var dragEl = jQuery(ui.draggable[0]);
+	var el = jQuery(this);
+	el.css({position:'', width:''});
+	var url =  el.droppable('option','endUrl');
+	if(url.lastIndexOf('/') == (url.length - 1)) {
+		url = url.substring(0,url.length-1);
+	}
+	var dragId = dragEl.attr('id')
+	var targetId = dragId.substring(2, dragId.length);
+	url += '%3Atnidle%3A' + targetId;
 
-function onTreeDrop(el, targetId) {
-	console.log('onTreeDrop', el, targetId);
+	var droppableId = el.attr('id');
+	if(droppableId.indexOf('ds') == 0) {
+		url += '%3Asne%3Ayes';
+	} else if(droppableId.indexOf('dt') == 0) {
+		url += '%3Asne%3Aend';
+	}
+	frames['oaa0'].location.href = url + '/';
 }
 
-function treeAcceptDrop(el, targetId) {
-	console.log('treeAcceptDrop', el);
-	return false;
-}
+function treeAcceptDrop(el) {
+	var dragEl = jQuery(el);
+	var dragElId = dragEl.attr('id');
+	var dropEl = jQuery(this)
+	var dropElId = dropEl.attr('id');//dropped
 
-/*Ext.namespace('Ext.fxMenuTree');
-Ext.fxMenuTree.DDProxy = function(id, group, dropUrl, overUrl) {
-	var config = {dragData:{end:dropUrl, over:overUrl}, scope:this };
-	Ext.fxMenuTree.DDProxy.superclass.constructor.call(this, id, group, config);
-};
-  
-Ext.extend(Ext.fxMenuTree.DDProxy, Ext.dd.DDProxy, {
-    startDrag: function(x, y) {
-        var dragEl = Ext.get(this.getDragEl());
-        var el = Ext.get(this.getEl());
-        dragEl.applyStyles({border:'','z-index':2000});
-        dragEl.update(el.dom.innerHTML);
-        dragEl.addClass(el.dom.className + ' b_dd_proxy');
-    },
-    
-	onDragOver: function(e, targetId) {
-		if(targetId && (targetId.indexOf('dd') == 0 || targetId.indexOf('ds') == 0 || targetId.indexOf('dt') == 0 || targetId.indexOf('da') == 0)) {
-			var target = Ext.get(targetId);
-    		this.lastTarget = target;
-    		if(this.config.dragData.over && this.config.dragData.over.length > 0) {
-    			var url = this.config.dragData.over + "/";
-    			var dropId = this.id.substring(2,this.id.length);
-    			var targetId = this.lastTarget.id.substring(2,this.lastTarget.id.length);
-    			var sibling = "";
-    			if(this.lastTarget.id.indexOf('ds') == 0) {
-    				sibling = "yes";
-    			} else if(this.lastTarget.id.indexOf('dt') == 0) {
-    				sibling = "end";
-    			}
-    			//use prototype for the Ajax call
-    			var stat = new Ajax.Request(url, { 
-    				method: 'get',
-    				asynchronous : false,
-            		parameters : { nidle:dropId, tnidle:targetId, sne:sibling },
-            		onSuccess: function(transport) {
-            			//use prototype to parse JSON response
-            			var response = transport.responseText.evalJSON();
-            			if(response.dropAllowed) {
-            				target.addClass('b_dd_over');
-            			} else {
-            				target.removeClass('b_dd_over');
-            			}
-					}
-          		});
-    		} else {
-    			target.addClass('b_dd_over');
-    		}
-    	}
-	},
+	if(dragElId.indexOf('dd') == 0 || dragElId.indexOf('ds') == 0 ||
+		 dragElId.indexOf('dt') == 0 || dragElId.indexOf('da') == 0 ||
+		 dragElId.indexOf('row') == 0) {
 		
-	onDragOut: function(e, targetId) {
-    	if(targetId && (targetId.indexOf('dd') == 0 || targetId.indexOf('ds') == 0 || targetId.indexOf('dt') == 0 || targetId.indexOf('da') == 0)) {
-    		var target = Ext.get(targetId);
-    		this.lastTarget = null;
-    		target.removeClass('b_dd_over');
-    	}
-	},
+		var dragNodeId = dragElId.substring(2, dragElId.length);
+		var dropId = dropElId.substring(2, dropElId.length);
+		if(dragNodeId == dropId) {
+			return false;
+		} 
 		
-	endDrag: function() {
-    	var dragEl = Ext.get(this.getDragEl());
-    	var el = Ext.get(this.getEl());
-    	if(this.lastTarget) {
-    		Ext.get(this.lastTarget).appendChild(el);
-    		el.applyStyles({position:'', width:''});
-    		var url =  this.config.dragData.end;
-    		if(url.lastIndexOf('/') == (url.length - 1)) {
-    			url = url.substring(0,url.length-1);
-    		}
-    		var targetId = this.lastTarget.id.substring(2,url.length);
-    		url += '%3Atnidle%3A' + targetId;
-    		if(this.lastTarget.id.indexOf('ds') == 0) {
-    			url += '%3Asne%3Ayes';
-    		} else if(this.lastTarget.id.indexOf('dt') == 0) {
-    			url += '%3Asne%3Aend';
-    		}
-    		frames['oaa0'].location.href = url + '/';
-    	}
+		var dropAllowed = dropEl.data(dragNodeId);
+		if(dropAllowed === undefined) {
+			var sibling = "";
+			if(dragElId.indexOf('ds') == 0) {
+				sibling = "yes";
+			} else if(dragElId.indexOf('dt') == 0) {
+				sibling = "end";
+			}
+			var url = dropEl.droppable('option', 'fbUrl');
+			//use prototype for the Ajax call
+			jQuery.ajax(url, { 
+				method:'GET',
+				data: { nidle:dragNodeId, tnidle:dropId, sne:sibling },
+				dataType: "json",
+				async: false,
+				success: function(data) {
+					dropAllowed = data.dropAllowed;
+				}
+	  		});
+			dropEl.data(dragNodeId, dropAllowed);
+		}
+		return dropAllowed;
 	}
-});*/
\ No newline at end of file
+	return false;
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
index df37eb307ca..55fab6e33d9 100644
--- a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
+++ b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
@@ -14,7 +14,13 @@
 		jQuery('#${panelName}').dialog({
 			title: '$title',
 			width: ${width},
-			height: ${height}
+			height: ${height},
+			position: [$offsetX, $offsetY],
+			stack: true,
+			close: function() {
+				o_beforeserver();
+				$r.javaScriptBgCommand("close")
+			}
 		});
 	});
 /* ]]> */
diff --git a/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html b/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
index 91ac044ada8..488099c6dec 100644
--- a/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
+++ b/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
@@ -38,6 +38,9 @@ jQuery(function(){
 					}));
 				}
 	    });
+	  },
+	  open: function() {
+		  jQuery(this).autocomplete('widget').css('z-index', 10000);
 	  },
 		select: function( event, ui ) {
 			$r.javaScriptBgCommand("select") + '?key=' + ui.item.value;
diff --git a/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html b/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
index 3417428b65a..2bf04b03d71 100644
--- a/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
+++ b/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
@@ -30,7 +30,8 @@ $r.render("tmComponent")
 				var url = b_glossaryTermMapperPath + "/" + glossaryId + "/terms.js";
 				jQuery.ajax(url, {
 					async: false, 
-					encoding : 'UTF-8', method : 'get', 
+					encoding : 'UTF-8',
+					method : 'get', 
 				 	success: function(data, textStatus, jqXHR) {
 				 		jQuery(document).data("o_glossaries")[glossaryId] = eval(jqXHR.responseText);
 				  }
diff --git a/src/main/java/org/olat/core/gui/control/winmgr/_content/serverpart.html b/src/main/java/org/olat/core/gui/control/winmgr/_content/serverpart.html
index af847d97dd7..87361c50319 100644
--- a/src/main/java/org/olat/core/gui/control/winmgr/_content/serverpart.html
+++ b/src/main/java/org/olat/core/gui/control/winmgr/_content/serverpart.html
@@ -2,17 +2,7 @@
 <div style="height:0px">
 <script type="text/javascript">
 /* <![CDATA[ */ 
-
-function log(s) {
-	try {
-		if (!window.ActiveXObject) {
-			##console.log(s);
-		}
-	} catch (me) {}
-}
-
 var stopped = true;
-
 function initPolling () {
 	o_info.lastClickTime = new Date().getTime();
 	pollgrowth = 0;
@@ -41,18 +31,13 @@ var pollError = 0;
 var pollgrowth = 0;
 var timestampLastPoll = new Date().getTime();
 
-
 // set timestamp cookie to inform other windows that they are outdated
 var sbtimestamp = new Date().getTime();
 var sbcookie = 'OLAT-UI-TIMESTAMP';
 if (window.opener == null) document.cookie = sbcookie+'='+sbtimestamp+'; path=/';
-//
-
 
-##
 ## starts an interval which checks every second whether to send an poll request based on
 ## the pollperiod or not 10 min after the last click the poll process stops
-##
 
 function tick () {
 	//console.log("starting poller with interval: "+pollperiod);
@@ -103,13 +88,11 @@ function tick () {
 	});
 }
 
-
 jQuery(document).ready(initPolling);
 
 #if ($isAdmin)
 ##check whether polling started or not. Wrap in ext makes it more stable
-jQuery(document).ready(
-	function() { 
+jQuery(function() { 
 		setTimeout( function(){ if (!o_info.ajaxpp) {
 			showMessageBox('error', 'error',  'Some core functionality could not be started. Please log out of OLAT and login again. ');
 			if(jQuery(document).ooLog().isDebugEnabled()) jQuery(document).ooLog('debug','Could not initialize polling!', "serverpart.html");
@@ -149,7 +132,5 @@ JSON <iframe src="javascript:false;document.write('');"  name="$iframeName" clas
 </div>
 #end	
 ## below we need to provide an action attribute to make it html 4.01 transitional
-##fxdiff
 	<form id="o_oaap" method="post" action="#" onsubmit="return false" target="oaa0"><input type="hidden" name="v"></form>
-</div>
-
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/media/ServletUtil.java b/src/main/java/org/olat/core/gui/media/ServletUtil.java
index 757dfc49cf2..9c01c9d7cd0 100644
--- a/src/main/java/org/olat/core/gui/media/ServletUtil.java
+++ b/src/main/java/org/olat/core/gui/media/ServletUtil.java
@@ -36,6 +36,7 @@ import java.io.PrintWriter;
 import java.io.Reader;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Enumeration;
 import java.util.List;
 import java.util.StringTokenizer;
 
@@ -60,6 +61,17 @@ import org.olat.core.util.session.UserSessionManager;
 public class ServletUtil {
 	private static final OLog log = Tracing.createLoggerFor(ServletUtil.class);
 
+	
+	
+	public static void printOutRequestParameter(HttpServletRequest request) {
+		for(Enumeration<String> names=request.getParameterNames(); names.hasMoreElements(); ) {
+			String name = names.nextElement();
+			System.out.println(name + " :: " + request.getParameter(name));
+		}
+	}
+	
+	
+	
 	/**
 	 * @param httpReq
 	 * @param httpResp
diff --git a/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java b/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java
index 0f9104a61bf..1334055c681 100644
--- a/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java
+++ b/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java
@@ -193,7 +193,7 @@ public class GuiDebugDispatcherController extends BasicController implements Int
 									+ "<div>"
 									+ "  <span id=\"o_guidebugst"
 									+ did
-									+ "\" onmouseover=\"o_debu_show(this.parentNode.parentNode, $('o_guidebugtt"
+									+ "\" onmouseover=\"o_debu_show(this.parentNode.parentNode, jQuery('#o_guidebugtt"
 									+ did
 									+ "'))\" "
 									+
diff --git a/src/main/java/org/olat/course/editor/EditorMainController.java b/src/main/java/org/olat/course/editor/EditorMainController.java
index 9bff74b71f8..7255d1ddf69 100644
--- a/src/main/java/org/olat/course/editor/EditorMainController.java
+++ b/src/main/java/org/olat/course/editor/EditorMainController.java
@@ -261,7 +261,8 @@ public class EditorMainController extends MainLayoutBasicController implements G
 			menuTree = new MenuTree("luTree");
 			menuTree.setExpandSelectedNode(false);
 			//fxdiff VCRP-9: drag and drop in menu tree
-			menuTree.setDragAndDropEnabled(true);
+			menuTree.setDragEnabled(true);
+			menuTree.setDropEnabled(true);
 			menuTree.setDragAndDropGroup("courseEditorGroup");
 						
 
diff --git a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
index 80ce343baf4..6c4c3cfa474 100644
--- a/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
+++ b/src/main/java/org/olat/course/groupsandrights/GroupsAndRightsController.java
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
@@ -266,7 +267,7 @@ public class GroupsAndRightsController extends FormBasicController {
 		}
 
 		@Override
-		public void load(int firstResult, int maxResults) {
+		public void load(int firstResult, int maxResults, SortKey... sortedCol) {
 			//already loaded
 		}
 
diff --git a/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewDataModel.java b/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewDataModel.java
index b988925e69d..917fca8dbf2 100644
--- a/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewDataModel.java
+++ b/src/main/java/org/olat/course/member/wizard/ImportMemberOverviewDataModel.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel;
 import org.olat.core.gui.components.table.DefaultTableDataModel;
@@ -64,7 +65,7 @@ public class ImportMemberOverviewDataModel extends DefaultTableDataModel<Identit
 	}
 	
 	@Override
-	public void load(int firstResult, int maxResults) {
+	public void load(int firstResult, int maxResults, SortKey... orderBy) {
 		//already loaded
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/st/_content/run.html b/src/main/java/org/olat/course/nodes/st/_content/run.html
index 72983ec941a..e274586644f 100644
--- a/src/main/java/org/olat/course/nodes/st/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/st/_content/run.html
@@ -77,7 +77,7 @@
 ## Add event JS event listeners for click and keydown events on all the gotonodes links
 <script type="text/javascript">
 /* <![CDATA[ */ 
-jQuery(document).ready(function() {
+jQuery(function() {
 	jQuery('div.o_course_run_toc a.o_gotoNode').each(function(n,m) {
 		jQuery(m).on('keydown click', function(){window.scrollTo(0,0);});
 	});
diff --git a/src/main/java/org/olat/course/tree/CourseEditorTreeModel.java b/src/main/java/org/olat/course/tree/CourseEditorTreeModel.java
index 2959b03a2b6..a818bf40d91 100644
--- a/src/main/java/org/olat/course/tree/CourseEditorTreeModel.java
+++ b/src/main/java/org/olat/course/tree/CourseEditorTreeModel.java
@@ -40,9 +40,11 @@ import org.olat.course.nodes.CourseNode;
  * Description:<br>
  * 
  * @author Felix Jost
+ * @Author srosse, stephane.rosse@frentix.com, http://www.frentix.com
  */
-//fxdiff VCRP-9: drag and drop in menu tree
 public class CourseEditorTreeModel extends GenericTreeModel implements DnDTreeModel {
+
+	private static final long serialVersionUID = 7021325125068249016L;
 	private long latestPublishTimestamp = -1;
 	private long highestNodeId; // start at Long.MAX_VALUE - 1000000; if set to
 															// zero -> meaning we read from an old
@@ -233,14 +235,12 @@ public class CourseEditorTreeModel extends GenericTreeModel implements DnDTreeMo
 			}
 		}
 		return cloneCn;
-
 	}
 	
-	//fxdiff VCRP-9: drag and drop in menu tree
 	@Override
 	public boolean canDrop(TreeNode droppedNode, TreeNode targetNode, boolean sibling) {
 		if(droppedNode == null || targetNode == null) return false;
-
+		
 		CourseEditorTreeNode selectedNode = getCourseEditorNodeById(droppedNode.getIdent());
 		CourseEditorTreeNode parentNode = getCourseEditorNodeById(targetNode.getIdent());
 		if(selectedNode == null || parentNode == null) return false;
@@ -255,7 +255,6 @@ public class CourseEditorTreeModel extends GenericTreeModel implements DnDTreeMo
 		return true;
 	}
 	
-	//fxdiff VCRP-9: drag and drop in menu tree
 	public boolean checkIfIsChild(CourseEditorTreeNode prospectChild, CourseEditorTreeNode sourceTree) {
 		if (sourceTree.getIdent().equals(prospectChild.getIdent())) {
 			return true;
diff --git a/src/main/java/org/olat/group/ui/main/EditMembershipController.java b/src/main/java/org/olat/group/ui/main/EditMembershipController.java
index 9595f61bce8..1f44f33dd60 100644
--- a/src/main/java/org/olat/group/ui/main/EditMembershipController.java
+++ b/src/main/java/org/olat/group/ui/main/EditMembershipController.java
@@ -28,6 +28,7 @@ import java.util.UUID;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.persistence.PersistenceHelper;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
@@ -378,7 +379,7 @@ public class EditMembershipController extends FormBasicController {
 		}
 
 		@Override
-		public void load(int firstResult, int maxResults) {
+		public void load(int firstResult, int maxResults, SortKey... sortedCol) {
 			//already loaded
 		}
 
diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoWindowControlController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoWindowControlController.java
index 0da4e156a09..1e7e1076bc1 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoWindowControlController.java
+++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoWindowControlController.java
@@ -38,8 +38,8 @@ import org.olat.core.gui.dev.controller.SourceViewController;
 
 public class GuiDemoWindowControlController extends BasicController {
 	
-	VelocityContainer vcMain;
-	GuiDemoPushPopController pushpop;
+	private VelocityContainer vcMain;
+	private GuiDemoPushPopController pushpop;
 	private Link infoButton;
 	private Link warnButton;
 	private Link errorButton;
@@ -57,21 +57,17 @@ public class GuiDemoWindowControlController extends BasicController {
 		//add source view control
     Controller sourceview = new SourceViewController(ureq, wControl, this.getClass(), vcMain);
     vcMain.put("sourceview", sourceview.getInitialComponent());
-				
-		this.putInitialPanel(vcMain);
+		putInitialPanel(vcMain);
 	}
 
 	public void event(UserRequest ureq, Component source, Event event) {
 		if (source == infoButton){
-			this.showInfo("guidemo.window.control.info.message", "");			
-		}
-		else if (source == warnButton){
-			this.showWarning("guidemo.window.control.warn.message", "");			
-		}
-		else if (source == errorButton){
-			this.showError("guidemo.window.control.error.message", "");			
-		}
-		else if (source == pushButton){
+			showInfo("guidemo.window.control.info.message", "");			
+		} else if (source == warnButton){
+			showWarning("guidemo.window.control.warn.message", "");			
+		} else if (source == errorButton){
+			showError("guidemo.window.control.error.message", "");			
+		} else if (source == pushButton){
 			pushpop = new GuiDemoPushPopController(ureq, getWindowControl());
 			pushpop.addControllerListener(this);
 			getWindowControl().pushToMainArea(pushpop.getInitialComponent());
@@ -81,10 +77,9 @@ public class GuiDemoWindowControlController extends BasicController {
 	public void event(UserRequest ureq, Controller source, Event event) {
 		if (source == pushpop) {
 			getWindowControl().pop();
-			this.showInfo("guidemo.window.control.pushpop", "");			
+			showInfo("guidemo.window.control.pushpop", "");			
 		}
 	}
 
 	protected void doDispose() {}
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatController.java b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
index 1fcfb488f65..982fd6b2b5d 100644
--- a/src/main/java/org/olat/instantMessaging/ui/ChatController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/ChatController.java
@@ -304,6 +304,11 @@ public class ChatController extends BasicController implements GenericEventListe
 	}
 	
 	private void appendToMessageHistory(InstantMessage message, boolean focus) {
+		if(message == null || message.getBody() == null) {
+			System.out.println();
+		}
+		
+		
 		String m = message.getBody().replaceAll("<br/>\n", "\r\n");
 		m = prepareMsgBody(m.replaceAll("<", "&lt;").replaceAll(">", "&gt;")).replaceAll("\r\n", "<br/>\n");
 		String creationDate = formatter.formatTime(message.getCreationDate());
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
index 5710b74d2d2..909e6fa1058 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
@@ -27,9 +27,13 @@
 <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);
+	jQuery(function() {
+		jQuery('#$id').each(function(index, el) {
+			var chatEl = jQuery(el);
+			if(chatEl.offset().top < chatEl.height()) {
+				chatEl.scrollTop(chatEl.height() + 13);
+			}
+		})
+	});
 /* ]]> */ 
 </script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/qpool/QuestionPoolService.java b/src/main/java/org/olat/modules/qpool/QuestionPoolService.java
index 17cafef8357..84860bdd3d1 100644
--- a/src/main/java/org/olat/modules/qpool/QuestionPoolService.java
+++ b/src/main/java/org/olat/modules/qpool/QuestionPoolService.java
@@ -21,6 +21,7 @@ package org.olat.modules.qpool;
 
 import java.util.List;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.id.Identity;
 
 /**
@@ -36,7 +37,7 @@ public interface QuestionPoolService {
 
 	public int getNumOfItemsInPool(Pool pool);
 	
-	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults);
+	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults, SortKey... orderBy);
 	
 	public int getNumOfFavoritItems(Identity identity);
 	
diff --git a/src/main/java/org/olat/modules/qpool/manager/PoolDAO.java b/src/main/java/org/olat/modules/qpool/manager/PoolDAO.java
index 4e1846909c4..1449d520c69 100644
--- a/src/main/java/org/olat/modules/qpool/manager/PoolDAO.java
+++ b/src/main/java/org/olat/modules/qpool/manager/PoolDAO.java
@@ -25,6 +25,8 @@ import java.util.List;
 import javax.persistence.TypedQuery;
 
 import org.olat.core.commons.persistence.DB;
+import org.olat.core.commons.persistence.PersistenceHelper;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.modules.qpool.Pool;
 import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.model.PoolImpl;
@@ -88,9 +90,11 @@ public class PoolDAO {
 				.getSingleResult().intValue();
 	}
 	
-	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults) {
+	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults, SortKey... orderBy) {
 		StringBuilder sb = new StringBuilder();
 		sb.append("select pool2item.item from qpool2item pool2item where pool2item.pool.key=:poolKey");
+		PersistenceHelper.appendGroupBy(sb, "pool2item.item", orderBy);
+		
 		TypedQuery<QuestionItem> query = dbInstance.getCurrentEntityManager()
 				.createQuery(sb.toString(), QuestionItem.class)
 				.setParameter("poolKey", pool.getKey());
diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
index 83c4174376b..2119c8b311c 100644
--- a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
+++ b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.olat.core.commons.persistence.DB;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.id.Identity;
 import org.olat.modules.qpool.Pool;
 import org.olat.modules.qpool.QuestionItem;
@@ -83,8 +84,8 @@ public class QuestionPoolServiceImpl implements QuestionPoolService, Application
 	}
 
 	@Override
-	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults) {
-		return poolDao.getItemsOfPool(pool, firstResult, maxResults);
+	public List<QuestionItem> getItemsOfPool(Pool pool, int firstResult, int maxResults, SortKey... orderBy) {
+		return poolDao.getItemsOfPool(pool, firstResult, maxResults, orderBy);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/modules/qpool/ui/ItemRowsSource.java b/src/main/java/org/olat/modules/qpool/ui/ItemRowsSource.java
index 27635e1224e..1415ab92166 100644
--- a/src/main/java/org/olat/modules/qpool/ui/ItemRowsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/ItemRowsSource.java
@@ -21,6 +21,8 @@ package org.olat.modules.qpool.ui;
 
 import java.util.List;
 
+import org.olat.core.commons.persistence.SortKey;
+
 /**
  * 
  * Initial date: 12.02.2013<br>
@@ -31,5 +33,5 @@ public interface ItemRowsSource {
 	
 	public int getRowCount();
 	
-	public List<QuestionItemRow> getRows(int firstResult, int maxResults);
+	public List<QuestionItemRow> getRows(int firstResult, int maxResults, SortKey... orderBy);
 }
diff --git a/src/main/java/org/olat/modules/qpool/ui/MarkedItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/MarkedItemsSource.java
index ac551a46a06..19068ed9b73 100644
--- a/src/main/java/org/olat/modules/qpool/ui/MarkedItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/MarkedItemsSource.java
@@ -22,6 +22,7 @@ package org.olat.modules.qpool.ui;
 import java.util.List;
 
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.id.Identity;
 import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.QuestionPoolService;
@@ -48,7 +49,7 @@ public class MarkedItemsSource implements QuestionItemsSource {
 	}
 
 	@Override
-	public List<QuestionItem> getItems(int firstResult, int maxResults) {
+	public List<QuestionItem> getItems(int firstResult, int maxResults, SortKey... orderBy) {
 		return qpoolService.getFavoritItems(me, firstResult, maxResults);
 	}
 }
diff --git a/src/main/java/org/olat/modules/qpool/ui/MyQuestionItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/MyQuestionItemsSource.java
index 62178a549dd..158c8b76d8b 100644
--- a/src/main/java/org/olat/modules/qpool/ui/MyQuestionItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/MyQuestionItemsSource.java
@@ -22,6 +22,7 @@ package org.olat.modules.qpool.ui;
 import java.util.List;
 
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.id.Identity;
 import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.QuestionPoolService;
@@ -48,7 +49,7 @@ public class MyQuestionItemsSource implements QuestionItemsSource {
 	}
 
 	@Override
-	public List<QuestionItem> getItems(int firstResult, int maxResults) {
+	public List<QuestionItem> getItems(int firstResult, int maxResults, SortKey... orderBy) {
 		return qpoolService.getItems(me, firstResult, maxResults);
 	}
 }
diff --git a/src/main/java/org/olat/modules/qpool/ui/PooledItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/PooledItemsSource.java
index 59fdd597d06..ab797fc4387 100644
--- a/src/main/java/org/olat/modules/qpool/ui/PooledItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/PooledItemsSource.java
@@ -22,6 +22,7 @@ package org.olat.modules.qpool.ui;
 import java.util.List;
 
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.modules.qpool.Pool;
 import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.QuestionPoolService;
@@ -48,7 +49,7 @@ public class PooledItemsSource implements QuestionItemsSource {
 	}
 
 	@Override
-	public List<QuestionItem> getItems(int firstResult, int maxResults) {
-		return qpoolService.getItemsOfPool(pool, firstResult, maxResults);
+	public List<QuestionItem> getItems(int firstResult, int maxResults, SortKey... orderBy) {
+		return qpoolService.getItemsOfPool(pool, firstResult, maxResults, orderBy);
 	}
 }
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
index 338c82d84fc..94590a6b8ce 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemDataModel.java
@@ -22,6 +22,7 @@ package org.olat.modules.qpool.ui;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModel;
 import org.olat.core.gui.components.table.TableDataModel;
@@ -69,7 +70,7 @@ public class QuestionItemDataModel implements FlexiTableDataModel, TableDataMode
 	}
 
 	@Override
-	public void load(int firstResult, int maxResults) {
+	public void load(int firstResult, int maxResults, SortKey... orderBy) {
 		if(rows == null) {
 			rows = new ArrayList<QuestionItemRow>();
 		}
@@ -77,8 +78,7 @@ public class QuestionItemDataModel implements FlexiTableDataModel, TableDataMode
 		for(int i=rows.size(); i<firstResult; i++) {
 			rows.add(null);
 		}
-		
-		List<QuestionItemRow> newRows = source.getRows(firstResult, maxResults);
+		List<QuestionItemRow> newRows = source.getRows(firstResult, maxResults, orderBy);
 		for(int i=0; i<newRows.size(); i++) {
 			int rowIndex = i + firstResult;
 			if(rowIndex < rows.size()) {
@@ -89,6 +89,7 @@ public class QuestionItemDataModel implements FlexiTableDataModel, TableDataMode
 		}
 	}
 
+
 	@Override
 	public int getColumnCount() {
 		return columnModel.getColumnCount();
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
index 077e6c00010..3a12113a69b 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionItemsSource.java
@@ -21,6 +21,7 @@ package org.olat.modules.qpool.ui;
 
 import java.util.List;
 
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.modules.qpool.QuestionItem;
 
 /**
@@ -33,6 +34,6 @@ public interface QuestionItemsSource {
 	
 	public int getNumOfItems();
 	
-	public List<QuestionItem> getItems(int firstResult, int maxResults);
+	public List<QuestionItem> getItems(int firstResult, int maxResults, SortKey... orderBy);
 
 }
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
index e1713ab20db..fe9f202f589 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionListController.java
@@ -26,6 +26,7 @@ import java.util.Set;
 
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.fullWebApp.LayoutMain3ColsController;
+import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.commons.services.mark.MarkManager;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
@@ -53,6 +54,8 @@ import org.olat.modules.qpool.QuestionPoolService;
  */
 public class QuestionListController extends FormBasicController implements StackedControllerAware, ItemRowsSource {
 
+	private FormLink createList;
+	
 	private FlexiTableElement itemsTable;
 	private QuestionItemDataModel model;
 	private StackedController stackPanel;
@@ -81,13 +84,17 @@ public class QuestionListController extends FormBasicController implements Stack
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 		//add the table
 		FlexiTableColumnModel columnsModel = FlexiTableDataModelFactory.createFlexiTableColumnModel();
-		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("item.key"));
-		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("item.subject"));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("item.key", true, "key"));
+		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("item.subject", true, "subject"));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("select"));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel("mark"));
 
 		model = new QuestionItemDataModel(columnsModel, this);
 		itemsTable = uifactory.addTableElement(ureq, "items", model, 20, getTranslator(), formLayout);
+		itemsTable.setMultiSelect(true);
+		
+		createList = uifactory.addFormLink("create.list", formLayout, Link.BUTTON);
+		
 	}
 
 	@Override
@@ -104,7 +111,11 @@ public class QuestionListController extends FormBasicController implements Stack
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
 		if(source instanceof FormLink) {
 			FormLink link = (FormLink)source;
-			if("select".equals(link.getCmd())) {
+			if(link == createList) {
+				Set<Integer> selections = itemsTable.getMultiSelectedIndex();
+				System.out.println(selections.size());
+				
+			} else if("select".equals(link.getCmd())) {
 				QuestionItemRow row = (QuestionItemRow)link.getUserObject();
 				doSelect(ureq, row.getItem());
 			} else if("mark".equals(link.getCmd())) {
@@ -127,6 +138,14 @@ public class QuestionListController extends FormBasicController implements Stack
 		super.formInnerEvent(ureq, source, event);
 	}
 	
+	public QuestionItem getQuestionItemAt(int index) {
+		QuestionItemRow row = model.getObject(index);
+		if(row != null) {
+			return row.getItem();
+		}
+		return null;
+	}
+	
 	protected void doSelect(UserRequest ureq, QuestionItem item) {
 		QuestionItemDetailsController detailsCtrl = new QuestionItemDetailsController(ureq, getWindowControl(), item);
 		LayoutMain3ColsController mainCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), detailsCtrl);
@@ -150,11 +169,11 @@ public class QuestionListController extends FormBasicController implements Stack
 	}
 
 	@Override
-	public List<QuestionItemRow> getRows(int firstResult, int maxResults) {
+	public List<QuestionItemRow> getRows(int firstResult, int maxResults, SortKey... orderBy) {
 		Set<Long> marks = markManager.getMarkResourceIds(getIdentity(), "QuestionItem", Collections.<String>emptyList());
 		
 		
-		List<QuestionItem> items = source.getItems(firstResult, maxResults);
+		List<QuestionItem> items = source.getItems(firstResult, maxResults, orderBy);
 		List<QuestionItemRow> rows = new ArrayList<QuestionItemRow>(items.size());
 		for(QuestionItem item:items) {
 			QuestionItemRow row = forgeRow(item, marks);
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
index 77458e5b870..6d639d43c1c 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMainEditorController.java
@@ -28,9 +28,9 @@ import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.panel.Panel;
 import org.olat.core.gui.components.stack.StackedController;
 import org.olat.core.gui.components.stack.StackedControllerAware;
-import org.olat.core.gui.components.tree.GenericTreeModel;
 import org.olat.core.gui.components.tree.GenericTreeNode;
 import org.olat.core.gui.components.tree.MenuTree;
+import org.olat.core.gui.components.tree.TreeDropEvent;
 import org.olat.core.gui.components.tree.TreeModel;
 import org.olat.core.gui.components.tree.TreeNode;
 import org.olat.core.gui.control.Event;
@@ -40,6 +40,7 @@ import org.olat.core.gui.control.generic.dtabs.Activateable2;
 import org.olat.core.id.context.ContextEntry;
 import org.olat.core.id.context.StateEntry;
 import org.olat.modules.qpool.Pool;
+import org.olat.modules.qpool.QuestionItem;
 import org.olat.modules.qpool.QuestionPoolService;
 
 /**
@@ -57,6 +58,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 	private QuestionsController myQuestionsCtrl;
 	private QuestionsController markedQuestionsCtrl;
 	private QuestionsController selectedPoolCtrl;
+	private QuestionsController currentCtrl;
 	private LayoutMain3ColsController columnLayoutCtr;
 	
 	private final QuestionPoolService qpoolService;
@@ -69,6 +71,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 		menuTree = new MenuTree("qpoolTree");
 		menuTree.setTreeModel(buildTreeModel());
 		menuTree.setSelectedNode(menuTree.getTreeModel().getRootNode());
+		menuTree.setDropEnabled(true);
 		menuTree.addListener(this);
 		menuTree.setRootVisible(false);
 		
@@ -94,15 +97,23 @@ public class QuestionPoolMainEditorController extends BasicController implements
 	@Override
 	protected void event(UserRequest ureq, Component source, Event event) {
 		if(menuTree == source) {
-			TreeNode node = menuTree.getSelectedNode();
-			Object uNode = node.getUserObject();
-			if("menu.database.my".equals(uNode)) {
-				doSelectMyQuestions(ureq);
-			} else if("menu.database.favorit".equals(uNode)) {
-				doSelectMarkedQuestions(ureq);
-			} else if(uNode instanceof Pool) {
-				Pool pool = (Pool)uNode;
-				doSelect(ureq, pool);
+			if(event instanceof TreeDropEvent) {
+				TreeDropEvent e = (TreeDropEvent)event;
+				String targetId = e.getTargetNodeId();
+				String dropId = e.getDroppedNodeId();
+				//drop id w_o_fi1000002357-4
+				doDrop(targetId, dropId);
+			} else {
+				TreeNode node = menuTree.getSelectedNode();
+				Object uNode = node.getUserObject();
+				if("menu.database.my".equals(uNode)) {
+					doSelectMyQuestions(ureq);
+				} else if("menu.database.favorit".equals(uNode)) {
+					doSelectMarkedQuestions(ureq);
+				} else if(uNode instanceof Pool) {
+					Pool pool = (Pool)uNode;
+					doSelect(ureq, pool);
+				}
 			}
 		}
 	}
@@ -112,12 +123,26 @@ public class QuestionPoolMainEditorController extends BasicController implements
 		//
 	}
 	
+	private void doDrop(String targetId, String dropId) {
+		try {
+			int lastIndex = dropId.lastIndexOf('-');
+			String rowStr = dropId.substring(lastIndex+1, dropId.length());
+			int row = Integer.parseInt(rowStr);
+			
+			QuestionItem item = currentCtrl.getQuestionAt(row);
+			System.out.println("Item: " + item);
+		} catch (Exception e) {
+			logError("Cannot drop with id: " + dropId, e);
+		}
+	}
+	
 	private void doSelectMyQuestions(UserRequest ureq) {
 		if(myQuestionsCtrl == null) {
 			myQuestionsCtrl = new QuestionsController(ureq, getWindowControl(), new MyQuestionItemsSource(getIdentity()));
 			myQuestionsCtrl.setStackedController(stackPanel);
 			listenTo(myQuestionsCtrl);
 		}
+		currentCtrl = myQuestionsCtrl;
 		content.setContent(myQuestionsCtrl.getInitialComponent());
 	}
 	
@@ -127,6 +152,7 @@ public class QuestionPoolMainEditorController extends BasicController implements
 			markedQuestionsCtrl.setStackedController(stackPanel);
 			listenTo(markedQuestionsCtrl);
 		}
+		currentCtrl = markedQuestionsCtrl;
 		content.setContent(markedQuestionsCtrl.getInitialComponent());
 	}
 	
@@ -136,11 +162,12 @@ public class QuestionPoolMainEditorController extends BasicController implements
 			selectedPoolCtrl.setStackedController(stackPanel);
 			listenTo(selectedPoolCtrl);
 		}
+		currentCtrl = selectedPoolCtrl;
 		content.setContent(selectedPoolCtrl.getInitialComponent());
 	}
 	
 	private TreeModel buildTreeModel() {
-		GenericTreeModel gtm = new GenericTreeModel();
+		QuestionPoolMenuTreeModel gtm = new QuestionPoolMenuTreeModel();
 		GenericTreeNode rootNode = new GenericTreeNode(translate("topnav.qpool"), "topnav.qpool.alt");
 		rootNode.setCssClass("o_sel_qpool_home");
 		gtm.setRootNode(rootNode);
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMenuTreeModel.java b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMenuTreeModel.java
new file mode 100644
index 00000000000..5b89cde2980
--- /dev/null
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionPoolMenuTreeModel.java
@@ -0,0 +1,40 @@
+/**
+ * <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.modules.qpool.ui;
+
+import org.olat.core.gui.components.tree.DnDTreeModel;
+import org.olat.core.gui.components.tree.GenericTreeModel;
+import org.olat.core.gui.components.tree.TreeNode;
+
+/**
+ * 
+ * Initial date: 15.02.2013<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+public class QuestionPoolMenuTreeModel extends GenericTreeModel implements DnDTreeModel{
+
+	private static final long serialVersionUID = -665560407090871912L;
+
+	@Override
+	public boolean canDrop(TreeNode droppedNode, TreeNode targetNode,	boolean sibling) {
+		return !sibling;
+	}
+}
diff --git a/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java b/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
index 51f0a95dd34..9c21c1192c5 100644
--- a/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/QuestionsController.java
@@ -71,6 +71,10 @@ public class QuestionsController extends BasicController implements StackedContr
 	protected void doDispose() {
 		//
 	}
+	
+	public QuestionItem getQuestionAt(int index) {
+		return listCtrl.getQuestionItemAt(index);
+	}
 
 	@Override
 	public void setStackedController(StackedController stackPanel) {
diff --git a/src/main/java/org/olat/modules/qpool/ui/_content/item_list.html b/src/main/java/org/olat/modules/qpool/ui/_content/item_list.html
index d444cccd7bb..c39cf4004bf 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_content/item_list.html
+++ b/src/main/java/org/olat/modules/qpool/ui/_content/item_list.html
@@ -1 +1,5 @@
-$r.render("items")
\ No newline at end of file
+$r.render("items")
+<div>
+$r.render("create.list")
+
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
index aec3469eaa8..6e474b54242 100644
--- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties
@@ -1,4 +1,5 @@
 #Mon Mar 02 09:54:04 CET 2009
+create.list=Liste erstellen
 topnav.qpool=Q-Pool
 topnav.qpool.alt=Question pools
 menu.database=Fragendatenbank
diff --git a/src/main/webapp/static/js/functions.js b/src/main/webapp/static/js/functions.js
index 3e5f3477f89..0a553dd76b1 100644
--- a/src/main/webapp/static/js/functions.js
+++ b/src/main/webapp/static/js/functions.js
@@ -950,19 +950,18 @@ function o_ffRegisterSubmit(formId, submElmId){
 function showInfoBox(title, content){
 	// Factory method to create message box
 	var uuid = Math.floor(Math.random() * 0x10000 /* 65536 */).toString(16);
-	var info = '<div id="' + uuid + '" class="b_msg-div msg"><div class="b_msg_info_content b_msg_info_winicon o_sel_info_message"><h3>'
+	var info = '<div id="' + uuid + '" class="b_msg-div msg" style="display:none;"><div class="b_msg_info_content b_msg_info_winicon o_sel_info_message"><h3>'
 		 + title + '</h3>' + content + '<br/><br/></div></div>';
     var msgCt = jQuery('#b_page').prepend(info);
     // Hide message automatically
-    var time = (content.length > 70) ? 6000 : 4000;
-    time = (content.length > 150) ? 8000 : time;
+    var time = (content.length > 150) ? 8000 : ((content.length > 70) ? 6000 : 4000);
     jQuery('#' + uuid).slideDown(300).delay(time).slideUp(300);
     // Visually remove message box immediately when user clicks on it
     // The ghost event from above is triggered anyway. 
     jQuery('#' + uuid).click(function(e) {
     	jQuery('#' + uuid).remove();
     });
-    // 	
+	
     // Help GC, prevent cyclic reference from on-click closure (OLAT-5755)
     title = null;
     content = null;
@@ -978,12 +977,21 @@ function showMessageBox(type, title, message, buttonCallback){
 	if(type == 'info'){
 		showInfoBox(title, message)
 	} else {
-		jQuery('<p>' + message + '</p>').dialog({
-			height: 140,
+		var prefix;
+		if("warn" == type) {
+			prefix = '<div><div class="b_msg_info_content b_msg_warn_winicon">';
+		} else if("error" == type) {
+			prefix = '<div><div class="b_msg_info_content b_msg_error_winicon">';
+		} else {
+			prefix = '<div><div>';
+		}
+		jQuery(prefix + '<p>' + message + '</p></div></div>').dialog({
+			height: 170,
+			width: 400,
 			modal: true,
 			title: title,
 			resizable:false
-		});
+		}).dialog('open');
 	}
 }
 
diff --git a/src/main/webapp/static/js/jquery/jquery-ui.css b/src/main/webapp/static/js/jquery/jquery-ui.css
deleted file mode 100644
index dd403d8bab5..00000000000
--- a/src/main/webapp/static/js/jquery/jquery-ui.css
+++ /dev/null
@@ -1,474 +0,0 @@
-/*! jQuery UI - v1.9.2 - 2012-11-23
-* http://jqueryui.com
-* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
-* Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
-.ui-helper-clearfix:after { clear: both; }
-.ui-helper-clearfix { zoom: 1; }
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-
-.ui-accordion .ui-accordion-header { display: block; cursor: pointer; position: relative; margin-top: 2px; padding: .5em .5em .5em .7em; zoom: 1; }
-.ui-accordion .ui-accordion-icons { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-noicons { padding-left: .7em; }
-.ui-accordion .ui-accordion-icons .ui-accordion-icons { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-header .ui-accordion-header-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
-.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; overflow: auto; zoom: 1; }
-
-.ui-autocomplete {
-	position: absolute;
-	top: 0;
-	left: 0;
-	cursor: default;
-}
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
-.ui-button, .ui-button:link, .ui-button:visited, .ui-button:hover, .ui-button:active { text-decoration: none; }
-.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
-button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
-.ui-button-icons-only { width: 3.4em; } 
-button.ui-button-icons-only { width: 3.7em; } 
-
-/*button text element */
-.ui-button .ui-button-text { display: block; line-height: 1.4;  }
-.ui-button-text-only .ui-button-text { padding: .4em 1em; }
-.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
-.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
-.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
-.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
-/* no icon support for input elements, provide padding by default */
-input.ui-button { padding: .4em 1em; }
-
-/*button icon element(s) */
-.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
-.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
-.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
-.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-
-/*button sets*/
-.ui-buttonset { margin-right: 7px; }
-.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
-
-/* workarounds */
-button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
-
-.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month, 
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
-    position: absolute; /*must have*/
-    z-index: -1; /*must have*/
-    filter: mask(); /*must have*/
-    top: -4px; /*must have*/
-    left: -4px; /*must have*/
-    width: 200px; /*must have*/
-    height: 200px; /*must have*/
-}
-.ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; }
-.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
-.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
-.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
-.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
-.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
-.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
-.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
-.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
-.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
-.ui-draggable .ui-dialog-titlebar { cursor: move; }
-
-.ui-menu { list-style:none; padding: 2px; margin: 0; display:block; outline: none; }
-.ui-menu .ui-menu { margin-top: -3px; position: absolute; }
-.ui-menu .ui-menu-item { margin: 0; padding: 0; zoom: 1; width: 100%; }
-.ui-menu .ui-menu-divider { margin: 5px -2px 5px -2px; height: 0; font-size: 0; line-height: 0; border-width: 1px 0 0 0; }
-.ui-menu .ui-menu-item a { text-decoration: none; display: block; padding: 2px .4em; line-height: 1.5; zoom: 1; font-weight: normal; }
-.ui-menu .ui-menu-item a.ui-state-focus,
-.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }
-
-.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
-.ui-menu .ui-state-disabled a { cursor: default; }
-
-/* icon support */
-.ui-menu-icons { position: relative; }
-.ui-menu-icons .ui-menu-item a { position: relative; padding-left: 2em; }
-
-/* left-aligned */
-.ui-menu .ui-icon { position: absolute; top: .2em; left: .2em; }
-
-/* right-aligned */
-.ui-menu .ui-menu-icon { position: static; float: right; }
-
-.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
-.ui-resizable { position: relative;}
-.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
-.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
-.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
-.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
-.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
-.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
-.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
-.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
-.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
-.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
-.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
-
-.ui-slider { position: relative; text-align: left; }
-.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
-.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
-
-.ui-slider-horizontal { height: .8em; }
-.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
-.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
-.ui-slider-horizontal .ui-slider-range-min { left: 0; }
-.ui-slider-horizontal .ui-slider-range-max { right: 0; }
-
-.ui-slider-vertical { width: .8em; height: 100px; }
-.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
-.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
-.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
-.ui-slider-vertical .ui-slider-range-max { top: 0; }
-.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
-.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
-.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
-.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
-.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
-.ui-spinner-up { top: 0; }
-.ui-spinner-down { bottom: 0; }
-
-/* TR overrides */
-.ui-spinner .ui-icon-triangle-1-s {
-	/* need to fix icons sprite */
-	background-position:-65px -16px;
-}
-
-.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
-.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
-.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 0; margin: 1px .2em 0 0; border-bottom: 0; padding: 0; white-space: nowrap; }
-.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-active { margin-bottom: -1px; padding-bottom: 1px; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a { cursor: text; }
-.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
-.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
-
-.ui-tooltip {
-	padding: 8px;
-	position: absolute;
-	z-index: 9999;
-	max-width: 300px;
-	-webkit-box-shadow: 0 0 5px #aaa;
-	box-shadow: 0 0 5px #aaa;
-}
-/* Fades and background-images don't work well together in IE6, drop the image */
-* html .ui-tooltip {
-	background-image: none;
-}
-body .ui-tooltip { border-width: 2px; }
-
-/* Component containers
-----------------------------------*/
-.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
-.ui-widget .ui-widget { font-size: 1em; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
-.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
-.ui-widget-content a { color: #222222/*{fcContent}*/; }
-.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
-.ui-widget-header a { color: #222222/*{fcHeader}*/; }
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; }
-.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
-.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; }
-.ui-state-hover a, .ui-state-hover a:hover, .ui-state-hover a:link, .ui-state-hover a:visited { color: #212121/*{fcHover}*/; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
-.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
-.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
-.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
-.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
-.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
-.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
-.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
-.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
-.ui-state-disabled .ui-icon { filter:Alpha(Opacity=35); } /* For IE8 - See #6059 */
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
-.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
-.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; }
-.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; }
-.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; }
-.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; }
-.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; }
-.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; }
-
-/* positioning */
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; }
-.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; }
-.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; }
-.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; }
-
-/* Overlays */
-.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
-.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }
\ No newline at end of file
diff --git a/src/main/webapp/static/js/jquery/ui/images/animated-overlay.gif b/src/main/webapp/static/js/jquery/ui/images/animated-overlay.gif
new file mode 100755
index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c
GIT binary patch
literal 1738
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
ORn*B%u*Wk|4g3!*Rv{Mv

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100755
index 0000000000000000000000000000000000000000..f5f09827f693ed896898f5987c03852d9257ecfa
GIT binary patch
literal 274
zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F$P6UUt$JVyq*&4&eH|GXHuiJ>Nn{1`8H<D5
zofy`glX(f`C?tCX`7$t6sWC7#v@kII0tz*}U|=XUU|@Kaz`$TNgMmT3V9u^U8=wSR
zfKQ0)s#UB0|NqY_e;H&0W0JSK3*&z#-FrX|zo(01h{pNk1PRu~4M2mKA{ZD;&DzR=
zQmQ4c5hW>!C8<`)MX5lF!N|bSSl7Tv*U%uu(89{p%*w!0*TBNcz@S$-o(V-mZhlH;
YS|x4`f9js^18QLKboFyt=akR{07GI&KL7v#

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_75_ffffff_40x100.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100755
index 0000000000000000000000000000000000000000..9e7a5125257e93d8ddab93f0d685db5128eddbd4
GIT binary patch
literal 271
zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F$P6UUt$JVyq*&4&eH|GXHuiJ>Nn{1`8H<D5
zofy`glX(f`C?tCX`7$t6sWC7#v@kII0tz*}U|=XUU|@Kaz`$TNgMmT3V9u^U8=wSp
zfKQ0)|NsA&ACW!*<T56CySp%Su*!M>IsBe3jv*T7lM^IZ7dHS+VTxd2EH!H@2TG}y
zxJHzuB$lLFB^RXvDF!10Lt|Y7BV9v-5JL+qQ!^_N*TTxc;OS3>ODGz0^HVa@DsgL=
TvSdddPy>UftDnm{r-UW|Lm);=

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100755
index 0000000000000000000000000000000000000000..42f16314434dcbe73286dc902150677b11cad1fa
GIT binary patch
literal 387
zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY)9^mSxl*x1kgCy^DTpg73g
ziDBJ2nU_G0Lb6AYF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOnX
zdAqy(2LsNC?{|PAy`C<PAs)xyo>$~zaujKJSU)dGAg8%w!(ui^3BziR*I}z84KnZk
zu3$dcT+u38*8N!e;3H9&!`|^fF8l9$xy+KAL82{D;y&BeDX(VTsr~jY?gNWg;)$NM
z21)PAoE)F1i0Ir6oUvh%QoM=D$IB=9ZMOs$CX2nPbltnn^8-sb7qd;a<BJRbyE6|P
z^vHi=vq@A5?s!wF2XvTfiEBhjN@7W>RdP`(kYX@0Ff`URFw!+N2r;y<GBvd_G0-)z
mure?xKek>2MMG|WN@iLmZVha+#isx@FnGH9xvX<aXaWE<S%XFZ

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_65_ffffff_1x400.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100755
index 0000000000000000000000000000000000000000..3d583e1447019eb59071c99b1f4536e8d5d84129
GIT binary patch
literal 272
zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjkr~Jeoi<|zkYY)9^mSxl*x1kgCy^DTpg73g
ziDBJ2nU_G0Lb6AYF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CF41H=pF><Y92N-zib
zgt-3y|9|-r=@URMW0JSK3quF1tOt-I;OXKRqH#VsL4tL0g2)3V24)2Y#&i7wM}Tsw
zC9V-ADTyViR>?)FK#IZ0z|dINz)087AjHtZ%GAut$XwUJ!pgv4zNNAfiiX_$l+3hB
W+#24c%$^6-z~JfX=d#Wzp$P!6szj~;

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_dadada_1x400.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100755
index 0000000000000000000000000000000000000000..84c34ed61fbf1a81d5764e8de47044a393ad0358
GIT binary patch
literal 375
zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY)9^mSxl*x1kgCy^DTpg73g
ziDBJ2nU_G0Lb6AYF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOnX
zdAqy(2LsNC?{|PAjh-%!As)xyo?pnzqA22e@%ulq#)UmAlUNoC$oTsDcX-bDlVGUf
z5wTe}r|f9Bdu-vt=<Ruo3<nH&4*#%P++)ObD)L+rm$>-!3l}eP^2^y2tgpW7t>QVU
z<yQ9kzf;TaRXWSpesSd1-J;Ob(=*@C!qT!;TtAM9pZ~x7<+enL{f~KL`%FJ&>!zOt
zI!3j`HKHUXu_V<hxhNG#F&G&b8tWPu=^7e@7+P4Fnpqi{>l#>C85qpBR8~UKkei>9
ZnO2Eg!@HE(^MD!{JYD@<);T3K0RY|qd0GGf

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100755
index 0000000000000000000000000000000000000000..56d1030895f2e2fa93b7725ea60c58fa3b1c3676
GIT binary patch
literal 368
zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY)9^mSxl*x1kgCy^DTpg73g
ziDBJ2nU_G0Lb6AYF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOnX
zdAqy(2LsNC?{|PARh}-6As)xyp5MsXtSHg)aQAt)?CSOc1NP$fdUo~=!drwzw)hEe
za`fn0U-jVWtiwLWXH^&&G`bdP+-KYS{hqa(OrcAU)vFbU+WF-Z6B7mH<m4VceJUCi
z6}52j;@?NUFWI;;ac1f?!IYGgHyaM~G4b>N7hf*w8d!INoBxwRi;GitEYKCIC9V-A
zDTyViR>?)FK#IZ0z|dINz)087AjHtZ%GAut$XwUJ!pgv4zNNAfiiX_$l+3hB+#24c
S%$^6-z~JfX=d#Wzp$Pyst#|+c

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_95_fef1ec_1x400.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100755
index 0000000000000000000000000000000000000000..c5ae1338e044c572f1c2f1877b519a492c6a9707
GIT binary patch
literal 384
zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY)9^mSxl*x1kgCy^DTpg73g
ziDBJ2nU_G0Lb6AYF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOnX
zdAqy(2LsNC?{|PAU7jwEAs)xyp5MsJm?+Wy@%eu-q31D*VFJC^_`H-O4lqo+aG~3!
zR#>8eS1;{{-AUQbcXq5B8w2)SU0<=PeM`lecf!mJ#|vei-@dS|RF>)Ftim~yHl>Mc
zU;1FSYhABg^xWQ<rH9&^7Eii(eRlZb5R;;}J0)hCSxLr*SxLw~)8W;S_;Ym2V~cbA
zl}zrs8Y#2pb9w+>rCQ<|QIe8al4_M)lnSI6j0_Bobq$Pk4GlsJEv!t<tPBlx4J@n-
j42seOf1_x~%}>cptHiB=*?OfrPy>UftDnm{r-UW|Y2SeL

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/main/webapp/static/js/jquery/ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100755
index 0000000000000000000000000000000000000000..e504a3ca152cd424819cb7313fe13aa7c124ee0d
GIT binary patch
literal 360
zcmeAS@N?(olHy`uVBq!ia0vp^j6j?szyu^`+!HJTQY`6?zK#qG8~eHcB(j1O6bHFG
zF|0c$^AgBWNcITwWnidMV_;}#VPN<L6l!?Ez))(y!0;-8fx&791A}<MoLzx7Knb=a
zZ+DmfV89vi{SHv1$kW9!MC1I^2?se{6a}0Qmn52A?wuRiTl~$yUDqMt{4@EmmiU8u
zZ(dGp5#Wf*Tq?@Q@F4#|fkoE(y=9F~3!Rn*wKg_7T3A@<si`kFFg89sT|eHPv)66+
zj~Ui)w_IL3|ILc;hqA>41qIX6((c#2JpPek&$r@Ir;|4~0c}?;ag8WRNi0dVN-jzT
zQVd20hQ_)EM!JRuA%+%Kre;<~=DG$JRt5(1EtQo}H00)|WTsW(*6=Q6_B@~l22WQ%
Jmvv4FO#njTcDn!o

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-icons_222222_256x240.png b/src/main/webapp/static/js/jquery/ui/images/ui-icons_222222_256x240.png
new file mode 100755
index 0000000000000000000000000000000000000000..0de6293259d866646ee06e63162f42bc56c5bae4
GIT binary patch
literal 6781
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

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-icons_2e83ff_256x240.png b/src/main/webapp/static/js/jquery/ui/images/ui-icons_2e83ff_256x240.png
new file mode 100755
index 0000000000000000000000000000000000000000..513a241d44d68c31a0db4af7f0c4d4a3d5596822
GIT binary patch
literal 4353
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
br@N)Q3*pA~9(VP_MS!ussa}PSbL@Wrp;;A%

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-icons_454545_256x240.png b/src/main/webapp/static/js/jquery/ui/images/ui-icons_454545_256x240.png
new file mode 100755
index 0000000000000000000000000000000000000000..95032e4423f5589c377ac4ccdc1fa4e74b5a8e72
GIT binary patch
literal 6854
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
J8a2n*{{hD+0U`hZ

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-icons_888888_256x240.png b/src/main/webapp/static/js/jquery/ui/images/ui-icons_888888_256x240.png
new file mode 100755
index 0000000000000000000000000000000000000000..8449bebc24690ee945ba5827b2ae8d6d3fb5bb36
GIT binary patch
literal 6897
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

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/images/ui-icons_cd0a0a_256x240.png b/src/main/webapp/static/js/jquery/ui/images/ui-icons_cd0a0a_256x240.png
new file mode 100755
index 0000000000000000000000000000000000000000..e28c9249bdb6c65caf4de1face364db3a363787f
GIT binary patch
literal 4353
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
b4>t=pXX1_PJ#K1;ivS}%6Wt1Jr`Z1hd_CNw

literal 0
HcmV?d00001

diff --git a/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.css b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.css
new file mode 100755
index 00000000000..c443b95033c
--- /dev/null
+++ b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.css
@@ -0,0 +1,1014 @@
+/*! jQuery UI - v1.10.0 - 2013-02-14
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+	display: none;
+}
+.ui-helper-hidden-accessible {
+	border: 0;
+	clip: rect(0 0 0 0);
+	height: 1px;
+	margin: -1px;
+	overflow: hidden;
+	padding: 0;
+	position: absolute;
+	width: 1px;
+}
+.ui-helper-reset {
+	margin: 0;
+	padding: 0;
+	border: 0;
+	outline: 0;
+	line-height: 1.3;
+	text-decoration: none;
+	font-size: 100%;
+	list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+	content: "";
+	display: table;
+}
+.ui-helper-clearfix:after {
+	clear: both;
+}
+.ui-helper-clearfix {
+	min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+	width: 100%;
+	height: 100%;
+	top: 0;
+	left: 0;
+	position: absolute;
+	opacity: 0;
+	filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+	z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+	cursor: default !important;
+}
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+	display: block;
+	text-indent: -99999px;
+	overflow: hidden;
+	background-repeat: no-repeat;
+}
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+}
+.ui-resizable {
+	position: relative;
+}
+.ui-resizable-handle {
+	position: absolute;
+	font-size: 0.1px;
+	display: block;
+}
+.ui-resizable-disabled .ui-resizable-handle,
+.ui-resizable-autohide .ui-resizable-handle {
+	display: none;
+}
+.ui-resizable-n {
+	cursor: n-resize;
+	height: 7px;
+	width: 100%;
+	top: -5px;
+	left: 0;
+}
+.ui-resizable-s {
+	cursor: s-resize;
+	height: 7px;
+	width: 100%;
+	bottom: -5px;
+	left: 0;
+}
+.ui-resizable-e {
+	cursor: e-resize;
+	width: 7px;
+	right: -5px;
+	top: 0;
+	height: 100%;
+}
+.ui-resizable-w {
+	cursor: w-resize;
+	width: 7px;
+	left: -5px;
+	top: 0;
+	height: 100%;
+}
+.ui-resizable-se {
+	cursor: se-resize;
+	width: 12px;
+	height: 12px;
+	right: 1px;
+	bottom: 1px;
+}
+.ui-resizable-sw {
+	cursor: sw-resize;
+	width: 9px;
+	height: 9px;
+	left: -5px;
+	bottom: -5px;
+}
+.ui-resizable-nw {
+	cursor: nw-resize;
+	width: 9px;
+	height: 9px;
+	left: -5px;
+	top: -5px;
+}
+.ui-resizable-ne {
+	cursor: ne-resize;
+	width: 9px;
+	height: 9px;
+	right: -5px;
+	top: -5px;
+}
+.ui-selectable-helper {
+	position: absolute;
+	z-index: 100;
+	border: 1px dotted black;
+}
+.ui-accordion .ui-accordion-header {
+	display: block;
+	cursor: pointer;
+	position: relative;
+	margin-top: 2px;
+	padding: .5em .5em .5em .7em;
+	min-height: 0; /* support: IE7 */
+}
+.ui-accordion .ui-accordion-icons {
+	padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-noicons {
+	padding-left: .7em;
+}
+.ui-accordion .ui-accordion-icons .ui-accordion-icons {
+	padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
+	position: absolute;
+	left: .5em;
+	top: 50%;
+	margin-top: -8px;
+}
+.ui-accordion .ui-accordion-content {
+	padding: 1em 2.2em;
+	border-top: 0;
+	overflow: auto;
+}
+.ui-autocomplete {
+	position: absolute;
+	top: 0;
+	left: 0;
+	cursor: default;
+}
+.ui-button {
+	display: inline-block;
+	position: relative;
+	padding: 0;
+	line-height: normal;
+	margin-right: .1em;
+	cursor: pointer;
+	vertical-align: middle;
+	text-align: center;
+	overflow: visible; /* removes extra width in IE */
+}
+.ui-button,
+.ui-button:link,
+.ui-button:visited,
+.ui-button:hover,
+.ui-button:active {
+	text-decoration: none;
+}
+/* to make room for the icon, a width needs to be set here */
+.ui-button-icon-only {
+	width: 2.2em;
+}
+/* button elements seem to need a little more width */
+button.ui-button-icon-only {
+	width: 2.4em;
+}
+.ui-button-icons-only {
+	width: 3.4em;
+}
+button.ui-button-icons-only {
+	width: 3.7em;
+}
+
+/* button text element */
+.ui-button .ui-button-text {
+	display: block;
+	line-height: normal;
+}
+.ui-button-text-only .ui-button-text {
+	padding: .4em 1em;
+}
+.ui-button-icon-only .ui-button-text,
+.ui-button-icons-only .ui-button-text {
+	padding: .4em;
+	text-indent: -9999999px;
+}
+.ui-button-text-icon-primary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+	padding: .4em 1em .4em 2.1em;
+}
+.ui-button-text-icon-secondary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+	padding: .4em 2.1em .4em 1em;
+}
+.ui-button-text-icons .ui-button-text {
+	padding-left: 2.1em;
+	padding-right: 2.1em;
+}
+/* no icon support for input elements, provide padding by default */
+input.ui-button {
+	padding: .4em 1em;
+}
+
+/* button icon element(s) */
+.ui-button-icon-only .ui-icon,
+.ui-button-text-icon-primary .ui-icon,
+.ui-button-text-icon-secondary .ui-icon,
+.ui-button-text-icons .ui-icon,
+.ui-button-icons-only .ui-icon {
+	position: absolute;
+	top: 50%;
+	margin-top: -8px;
+}
+.ui-button-icon-only .ui-icon {
+	left: 50%;
+	margin-left: -8px;
+}
+.ui-button-text-icon-primary .ui-button-icon-primary,
+.ui-button-text-icons .ui-button-icon-primary,
+.ui-button-icons-only .ui-button-icon-primary {
+	left: .5em;
+}
+.ui-button-text-icon-secondary .ui-button-icon-secondary,
+.ui-button-text-icons .ui-button-icon-secondary,
+.ui-button-icons-only .ui-button-icon-secondary {
+	right: .5em;
+}
+
+/* button sets */
+.ui-buttonset {
+	margin-right: 7px;
+}
+.ui-buttonset .ui-button {
+	margin-left: 0;
+	margin-right: -.3em;
+}
+
+/* workarounds */
+/* reset extra padding in Firefox, see h5bp.com/l */
+input.ui-button::-moz-focus-inner,
+button.ui-button::-moz-focus-inner {
+	border: 0;
+	padding: 0;
+}
+.ui-datepicker {
+	width: 17em;
+	padding: .2em .2em 0;
+	display: none;
+}
+.ui-datepicker .ui-datepicker-header {
+	position: relative;
+	padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+	position: absolute;
+	top: 2px;
+	width: 1.8em;
+	height: 1.8em;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+	top: 1px;
+}
+.ui-datepicker .ui-datepicker-prev {
+	left: 2px;
+}
+.ui-datepicker .ui-datepicker-next {
+	right: 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover {
+	left: 1px;
+}
+.ui-datepicker .ui-datepicker-next-hover {
+	right: 1px;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+	display: block;
+	position: absolute;
+	left: 50%;
+	margin-left: -8px;
+	top: 50%;
+	margin-top: -8px;
+}
+.ui-datepicker .ui-datepicker-title {
+	margin: 0 2.3em;
+	line-height: 1.8em;
+	text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+	font-size: 1em;
+	margin: 1px 0;
+}
+.ui-datepicker select.ui-datepicker-month-year {
+	width: 100%;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+	width: 49%;
+}
+.ui-datepicker table {
+	width: 100%;
+	font-size: .9em;
+	border-collapse: collapse;
+	margin: 0 0 .4em;
+}
+.ui-datepicker th {
+	padding: .7em .3em;
+	text-align: center;
+	font-weight: bold;
+	border: 0;
+}
+.ui-datepicker td {
+	border: 0;
+	padding: 1px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+	display: block;
+	padding: .2em;
+	text-align: right;
+	text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+	background-image: none;
+	margin: .7em 0 0 0;
+	padding: 0 .2em;
+	border-left: 0;
+	border-right: 0;
+	border-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+	float: right;
+	margin: .5em .2em .4em;
+	cursor: pointer;
+	padding: .2em .6em .3em .6em;
+	width: auto;
+	overflow: visible;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+	float: left;
+}
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi {
+	width: auto;
+}
+.ui-datepicker-multi .ui-datepicker-group {
+	float: left;
+}
+.ui-datepicker-multi .ui-datepicker-group table {
+	width: 95%;
+	margin: 0 auto .4em;
+}
+.ui-datepicker-multi-2 .ui-datepicker-group {
+	width: 50%;
+}
+.ui-datepicker-multi-3 .ui-datepicker-group {
+	width: 33.3%;
+}
+.ui-datepicker-multi-4 .ui-datepicker-group {
+	width: 25%;
+}
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
+	border-left-width: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+	clear: left;
+}
+.ui-datepicker-row-break {
+	clear: both;
+	width: 100%;
+	font-size: 0;
+}
+
+/* RTL support */
+.ui-datepicker-rtl {
+	direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+	right: 2px;
+	left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+	left: 2px;
+	right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+	right: 1px;
+	left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+	left: 1px;
+	right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+	clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+	float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
+.ui-datepicker-rtl .ui-datepicker-group {
+	float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+	border-right-width: 0;
+	border-left-width: 1px;
+}
+.ui-dialog {
+	position: absolute;
+	top: 0;
+	left: 0;
+	padding: .2em;
+	outline: 0;
+}
+.ui-dialog .ui-dialog-titlebar {
+	padding: .4em 1em;
+	position: relative;
+}
+.ui-dialog .ui-dialog-title {
+	float: left;
+	margin: .1em 0;
+	white-space: nowrap;
+	width: 90%;
+	overflow: hidden;
+	text-overflow: ellipsis;
+}
+.ui-dialog .ui-dialog-titlebar-close {
+	position: absolute;
+	right: .3em;
+	top: 50%;
+	width: 21px;
+	margin: -10px 0 0 0;
+	padding: 1px;
+	height: 20px;
+}
+.ui-dialog .ui-dialog-content {
+	position: relative;
+	border: 0;
+	padding: .5em 1em;
+	background: none;
+	overflow: auto;
+}
+.ui-dialog .ui-dialog-buttonpane {
+	text-align: left;
+	border-width: 1px 0 0 0;
+	background-image: none;
+	margin-top: .5em;
+	padding: .3em 1em .5em .4em;
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+	float: right;
+}
+.ui-dialog .ui-dialog-buttonpane button {
+	margin: .5em .4em .5em 0;
+	cursor: pointer;
+}
+.ui-dialog .ui-resizable-se {
+	width: 12px;
+	height: 12px;
+	right: -5px;
+	bottom: -5px;
+	background-position: 16px 16px;
+}
+.ui-draggable .ui-dialog-titlebar {
+	cursor: move;
+}
+.ui-menu {
+	list-style: none;
+	padding: 2px;
+	margin: 0;
+	display: block;
+	outline: none;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+	position: absolute;
+}
+.ui-menu .ui-menu-item {
+	margin: 0;
+	padding: 0;
+	width: 100%;
+}
+.ui-menu .ui-menu-divider {
+	margin: 5px -2px 5px -2px;
+	height: 0;
+	font-size: 0;
+	line-height: 0;
+	border-width: 1px 0 0 0;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration: none;
+	display: block;
+	padding: 2px .4em;
+	line-height: 1.5;
+	min-height: 0; /* support: IE7 */
+	font-weight: normal;
+}
+.ui-menu .ui-menu-item a.ui-state-focus,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+
+.ui-menu .ui-state-disabled {
+	font-weight: normal;
+	margin: .4em 0 .2em;
+	line-height: 1.5;
+}
+.ui-menu .ui-state-disabled a {
+	cursor: default;
+}
+
+/* icon support */
+.ui-menu-icons {
+	position: relative;
+}
+.ui-menu-icons .ui-menu-item a {
+	position: relative;
+	padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+	position: absolute;
+	top: .2em;
+	left: .2em;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+	position: static;
+	float: right;
+}
+.ui-progressbar {
+	height: 2em;
+	text-align: left;
+	overflow: hidden;
+}
+.ui-progressbar .ui-progressbar-value {
+	margin: -1px;
+	height: 100%;
+}
+.ui-progressbar .ui-progressbar-overlay {
+	background: url("images/animated-overlay.gif");
+	height: 100%;
+	filter: alpha(opacity=25);
+	opacity: 0.25;
+}
+.ui-progressbar-indeterminate .ui-progressbar-value {
+	background-image: none;
+}
+.ui-tooltip {
+	padding: 8px;
+	position: absolute;
+	z-index: 9999;
+	max-width: 300px;
+	-webkit-box-shadow: 0 0 5px #aaa;
+	box-shadow: 0 0 5px #aaa;
+}
+body .ui-tooltip {
+	border-width: 2px;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+	font-family: Verdana,Arial,sans-serif;
+	font-size: 1.1em;
+}
+.ui-widget .ui-widget {
+	font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+	font-family: Verdana,Arial,sans-serif;
+	font-size: 1em;
+}
+.ui-widget-content {
+	border: 1px solid #aaaaaa;
+	background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
+	color: #222222;
+}
+.ui-widget-content a {
+	color: #222222;
+}
+.ui-widget-header {
+	border: 1px solid #aaaaaa;
+	background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
+	color: #222222;
+	font-weight: bold;
+}
+.ui-widget-header a {
+	color: #222222;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+	border: 1px solid #d3d3d3;
+	background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
+	font-weight: normal;
+	color: #555555;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+	color: #555555;
+	text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus {
+	border: 1px solid #999999;
+	background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
+	font-weight: normal;
+	color: #212121;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+	color: #212121;
+	text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+	border: 1px solid #aaaaaa;
+	background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
+	font-weight: normal;
+	color: #212121;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+	color: #212121;
+	text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+	border: 1px solid #fcefa1;
+	background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
+	color: #363636;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+	color: #363636;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+	border: 1px solid #cd0a0a;
+	background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
+	color: #cd0a0a;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+	color: #cd0a0a;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+	color: #cd0a0a;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+	font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+	opacity: .7;
+	filter:Alpha(Opacity=70);
+	font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+	opacity: .35;
+	filter:Alpha(Opacity=35);
+	background-image: none;
+}
+.ui-state-disabled .ui-icon {
+	filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+	width: 16px;
+	height: 16px;
+	background-position: 16px 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+	background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-widget-header .ui-icon {
+	background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-state-default .ui-icon {
+	background-image: url(images/ui-icons_888888_256x240.png);
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+	background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-active .ui-icon {
+	background-image: url(images/ui-icons_454545_256x240.png);
+}
+.ui-state-highlight .ui-icon {
+	background-image: url(images/ui-icons_2e83ff_256x240.png);
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+	background-image: url(images/ui-icons_cd0a0a_256x240.png);
+}
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+	border-top-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+	border-top-right-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+	border-bottom-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+	border-bottom-right-radius: 4px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+	background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+	opacity: .3;
+	filter: Alpha(Opacity=30);
+}
+.ui-widget-shadow {
+	margin: -8px 0 0 -8px;
+	padding: 8px;
+	background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
+	opacity: .3;
+	filter: Alpha(Opacity=30);
+	border-radius: 8px;
+}
diff --git a/src/main/webapp/static/js/jquery/jquery-ui-1.10.0.custom.js b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.js
similarity index 100%
rename from src/main/webapp/static/js/jquery/jquery-ui-1.10.0.custom.js
rename to src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.js
diff --git a/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.css b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.css
new file mode 100755
index 00000000000..65848259f39
--- /dev/null
+++ b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.css
@@ -0,0 +1,5 @@
+/*! jQuery UI - v1.10.0 - 2013-02-14
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px;background-position:16px 16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px}
\ No newline at end of file
diff --git a/src/main/webapp/static/js/jquery/jquery-ui-1.10.0.custom.min.js b/src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.js
similarity index 100%
rename from src/main/webapp/static/js/jquery/jquery-ui-1.10.0.custom.min.js
rename to src/main/webapp/static/js/jquery/ui/jquery-ui-1.10.0.custom.min.js
-- 
GitLab