diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..728ed61
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..698834c
--- /dev/null
+++ b/.project
@@ -0,0 +1,59 @@
+
+
+ register-vre-users
+ manage-vre-users project
+
+
+
+
+ org.eclipse.wst.jsdt.core.javascriptValidator
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+ org.maven.ide.eclipse.maven2Builder
+
+
+
+
+ com.google.gdt.eclipse.core.webAppProjectValidator
+
+
+
+
+ com.google.gwt.eclipse.core.gwtProjectValidator
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.maven.ide.eclipse.maven2Nature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.wst.jsdt.core.jsNature
+ com.google.gwt.eclipse.core.gwtNature
+
+
diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope
new file mode 100644
index 0000000..ba3c245
--- /dev/null
+++ b/.settings/.jsdtscope
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/com.google.appengine.eclipse.core.prefs b/.settings/com.google.appengine.eclipse.core.prefs
new file mode 100644
index 0000000..a60576c
--- /dev/null
+++ b/.settings/com.google.appengine.eclipse.core.prefs
@@ -0,0 +1,3 @@
+#Thu Jun 16 10:18:26 CEST 2011
+eclipse.preferences.version=1
+filesCopiedToWebInfLib=
diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs
new file mode 100644
index 0000000..c6a58f5
--- /dev/null
+++ b/.settings/com.google.gdt.eclipse.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+jarsExcludedFromWebInfLib=
+lastWarOutDir=/Users/massi/Documents/workspace/manage-vre-users/target/register-vre-users-0.2.0-SNAPSHOT
+warSrcDir=src/main/webapp
+warSrcDirIsOutput=false
diff --git a/.settings/com.google.gwt.eclipse.core.prefs b/.settings/com.google.gwt.eclipse.core.prefs
new file mode 100644
index 0000000..c803c44
--- /dev/null
+++ b/.settings/com.google.gwt.eclipse.core.prefs
@@ -0,0 +1,5 @@
+#Thu Jun 16 11:14:17 CEST 2011
+eclipse.preferences.version=1
+entryPointModules=
+filesCopiedToWebInfLib=gwt-servlet.jar
+gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgc3JjL21haW4vd2ViYXBwXV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXg1MTJtXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLmNvbXBhbnkuU29tZU1vZHVsZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..29abf99
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding//src/test/resources=UTF-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..443e085
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..13474fa
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..4045d87
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/.settings/org.maven.ide.eclipse.prefs b/.settings/org.maven.ide.eclipse.prefs
new file mode 100644
index 0000000..dae95d4
--- /dev/null
+++ b/.settings/org.maven.ide.eclipse.prefs
@@ -0,0 +1,9 @@
+#Thu Sep 02 10:42:12 CEST 2010
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/ManageVreUsersTest-dev.launch b/ManageVreUsersTest-dev.launch
new file mode 100644
index 0000000..3a1cff8
--- /dev/null
+++ b/ManageVreUsersTest-dev.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ManageVreUsersTest-prod.launch b/ManageVreUsersTest-prod.launch
new file mode 100644
index 0000000..b34b3eb
--- /dev/null
+++ b/ManageVreUsersTest-prod.launch
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d70c69f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,238 @@
+
+
+
+ 4.0.0
+
+ maven-parent
+ org.gcube.tools
+ 1.0.0
+
+
+ org.gcube.portlets.admin.manageusers
+ register-vre-users
+ war
+ 0.2.0-SNAPSHOT
+ Manage VRE Users Portlet
+
+ Manage VRE Users Portlet allow to select a user from the portal and add him to the VRE.
+
+
+ scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}
+ scm:https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}
+ http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}
+
+
+
+ 2.5.1
+ distro
+
+ 1.7
+ 1.7
+ ${project.build.directory}/${project.build.finalName}
+
+ UTF-8
+ UTF-8
+
+
+
+
+ org.gcube.distribution
+ maven-portal-bom
+ LATEST
+ pom
+ import
+
+
+
+
+
+
+ xerces
+ xercesImpl
+ 2.9.1
+ provided
+
+
+ com.google.gwt
+ gwt-user
+ provided
+
+
+ org.gcube.applicationsupportlayer
+ aslcore
+ provided
+
+
+ org.gcube.portlets.user
+ gcube-widgets
+ provided
+
+
+ org.gcube.portal
+ custom-portal-handler
+ provided
+
+
+ org.gcube.applicationsupportlayer
+ aslsocial
+ provided
+
+
+ org.gcube.common
+ home-library-jcr
+ provided
+
+
+ org.gcube.common
+ home-library
+ provided
+
+
+ org.gcube.core
+ common-scope-maps
+ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ provided
+
+
+ com.sencha.gxt
+ gxt
+ 2.2.5
+ provided
+
+
+ org.gcube.dvos
+ usermanagement-core
+ provided
+
+
+ com.liferay.portal
+ portal-service
+ 6.0.6
+ provided
+
+
+ javax.portlet
+ portlet-api
+ provided
+
+
+ log4j
+ log4j
+ compile
+
+
+ org.slf4j
+ slf4j-log4j12
+ compile
+
+
+ org.slf4j
+ slf4j-api
+ compile
+
+
+
+
+
+ ${webappDirectory}/WEB-INF/classes
+
+
+
+
+ org.codehaus.mojo
+ gwt-maven-plugin
+ ${gwtVersion}
+
+
+
+ compile
+
+
+
+
+
+
+ VREDefinition.html
+ ${webappDirectory}
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 2.1.1
+
+
+ compile
+
+ exploded
+
+
+
+
+ ${webappDirectory}
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 2.3.2
+
+
+ 1.7
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.2
+
+
+ ${distroDirectory}/descriptor.xml
+
+
+
+
+ servicearchive
+ install
+
+ single
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+
+ copy-profile
+ install
+
+ copy-resources
+
+
+ target
+
+
+ ${distroDirectory}
+ true
+
+ profile.xml
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/AppController.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/AppController.java
new file mode 100644
index 0000000..0fbb8ee
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/AppController.java
@@ -0,0 +1,52 @@
+package org.gcube.portlets.admin.manageusers.client;
+
+import org.gcube.portlets.admin.manageusers.client.presenter.Presenter;
+import org.gcube.portlets.admin.manageusers.client.presenter.VREDeploymentPresenter;
+import org.gcube.portlets.admin.manageusers.client.view.VREDeploymentView;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.logical.shared.ValueChangeEvent;
+import com.google.gwt.event.logical.shared.ValueChangeHandler;
+import com.google.gwt.event.shared.HandlerManager;
+import com.google.gwt.user.client.History;
+import com.google.gwt.user.client.ui.HasWidgets;
+
+/**
+ *
+ * @author Massimiliano Assante, ISTI-CNR - massimiliano.assante@isti.cnr.it
+ * @version May 2011 (0.1)
+ *
+ * This AppController contains the view transition logic,
+ * to handle logic that is not specific to any presenter and instead resides at the application layer
+ */
+public class AppController implements Presenter, ValueChangeHandler {
+ private final HandlerManager eventBus;
+ private final ManageUsersServiceAsync rpcService;
+ private HasWidgets container;
+ Presenter presenter;
+
+ public AppController(ManageUsersServiceAsync rpcService, HandlerManager eventBus) {
+ this.eventBus = eventBus;
+ this.rpcService = rpcService;
+ bind();
+ }
+
+ private void bind() {
+ History.addValueChangeHandler(this);
+ }
+
+ @Override
+ public void go(HasWidgets container) {
+ this.container = container;
+ History.fireCurrentHistoryState();
+ }
+ @Override
+ public void onValueChange(ValueChangeEvent event) {
+ presenter = new VREDeploymentPresenter(rpcService, eventBus, new VREDeploymentView());
+ if (presenter != null) {
+ GWT.log("Container=null?"+(container==null));
+ presenter.go(this.container);
+ }
+ }
+
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersService.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersService.java
new file mode 100644
index 0000000..4412743
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersService.java
@@ -0,0 +1,17 @@
+package org.gcube.portlets.admin.manageusers.client;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+
+import com.google.gwt.user.client.rpc.RemoteService;
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+/**
+ * The client side stub for the RPC service.
+ */
+@RemoteServiceRelativePath("manageUsersServlet")
+public interface ManageUsersService extends RemoteService {
+ ArrayList getAvailableUsers();
+ boolean registerUsers(List users2Register);
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersServiceAsync.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersServiceAsync.java
new file mode 100644
index 0000000..abbd773
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageUsersServiceAsync.java
@@ -0,0 +1,20 @@
+package org.gcube.portlets.admin.manageusers.client;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+/**
+ * The async counterpart of ManageUsersService
.
+ */
+public interface ManageUsersServiceAsync {
+
+
+ void getAvailableUsers(AsyncCallback> callback);
+
+ void registerUsers(List users2Register,
+ AsyncCallback callback);
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageVreUsers.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageVreUsers.java
new file mode 100644
index 0000000..50dad6c
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/ManageVreUsers.java
@@ -0,0 +1,26 @@
+package org.gcube.portlets.admin.manageusers.client;
+
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.HandlerManager;
+import com.google.gwt.user.client.ui.RootPanel;
+
+/**
+ * Entry point classes define onModuleLoad()
.
+ */
+public class ManageVreUsers implements EntryPoint {
+ /**
+ *
+ */
+ public static final String CONTAINER_DIV = "DeploymentView";
+
+ /**
+ * This is the entry point method.
+ */
+ public void onModuleLoad() {
+ ManageUsersServiceAsync rpcService = GWT.create(ManageUsersService.class);
+ HandlerManager eventBus = new HandlerManager(null);
+ AppController appViewer = new AppController(rpcService, eventBus);
+ appViewer.go(RootPanel.get(CONTAINER_DIV));
+ }
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/Presenter.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/Presenter.java
new file mode 100644
index 0000000..1c04678
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/Presenter.java
@@ -0,0 +1,7 @@
+package org.gcube.portlets.admin.manageusers.client.presenter;
+
+import com.google.gwt.user.client.ui.HasWidgets;
+
+public interface Presenter {
+ public void go(HasWidgets container);
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java
new file mode 100644
index 0000000..3be99b0
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java
@@ -0,0 +1,142 @@
+package org.gcube.portlets.admin.manageusers.client.presenter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.gcube.portlets.admin.manageusers.client.ManageUsersServiceAsync;
+import org.gcube.portlets.admin.manageusers.client.view.Display;
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+
+import com.extjs.gxt.ui.client.event.ButtonEvent;
+import com.extjs.gxt.ui.client.event.ComponentEvent;
+import com.extjs.gxt.ui.client.event.Listener;
+import com.extjs.gxt.ui.client.event.MessageBoxEvent;
+import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
+import com.extjs.gxt.ui.client.event.SelectionChangedListener;
+import com.extjs.gxt.ui.client.event.SelectionListener;
+import com.extjs.gxt.ui.client.widget.Info;
+import com.extjs.gxt.ui.client.widget.MessageBox;
+import com.google.gwt.event.shared.HandlerManager;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.HasWidgets;
+/**
+ *
+ * @author Massimiliano Assante (assante@isti.cnr.it)
+ *
+ */
+public class VREDeploymentPresenter implements Presenter {
+ private final ManageUsersServiceAsync rpcService;
+ private final HandlerManager eventBus;
+ private final Display display;
+ String location = null;
+ /**
+ *
+ * @param rpcService
+ * @param eventBus
+ * @param display
+ */
+ public VREDeploymentPresenter(ManageUsersServiceAsync rpcService, HandlerManager eventBus, Display display) {
+ this.rpcService = rpcService;
+ this.eventBus = eventBus;
+ this.display = display;
+ }
+ @SuppressWarnings("rawtypes")
+ public void bind() {
+ ///*** BUTTONS & Menu
+
+
+ SelectionListener approvesl = new SelectionListener() {
+ public void componentSelected(ComponentEvent ce) {
+ List selectedUsers = display.getGridSelectionModel().getSelectedItems();
+ if (selectedUsers.size() > 0) {
+ doApprove(selectedUsers);
+ }
+ }
+ };
+ display.getApproveButton().addSelectionListener(approvesl);
+ display.getApproveMenu().addSelectionListener(approvesl);
+
+
+ // REFRESH
+ display.getRefreshButton().addSelectionListener( new SelectionListener() {
+ public void componentSelected(ButtonEvent ce) {
+ fetchAvailableUsers();
+ }
+ });
+
+ ///*** GRID
+ display.getGridSelectionModel().addSelectionChangedListener(new SelectionChangedListener() {
+ public void selectionChanged(SelectionChangedEvent event) {
+ if (event.getSelectedItem() != null)
+ display.setGridContextMenu();
+ display.enableActionButtons(event.getSelectedItem());
+ }
+ });
+
+ }
+ /**
+ * go method
+ */
+ @Override
+ public void go(HasWidgets container) {
+ bind();
+ container.clear();
+ container.add(display.asWidget());
+ fetchAvailableUsers();
+ }
+ /**
+ * fetch all the workflow documents belongin to this user
+ */
+ private void fetchAvailableUsers() {
+ display.maskCenterPanel("Loading Avalable Users, please wait", true);
+ rpcService.getAvailableUsers(new AsyncCallback>() {
+ @Override
+ public void onSuccess(ArrayList docs) {
+ display.maskCenterPanel("", false);
+ display.setData(docs);
+ }
+ @Override
+ public void onFailure(Throwable arg0) {
+ display.maskCenterPanel("", false);
+ Window.alert("Failed to get users list from service " + arg0.getMessage());
+ }
+ });
+ }
+
+ private void doApprove(final List selectedUsers) {
+ if (selectedUsers != null) {
+ String users = "";
+ for (int i = 0; i < selectedUsers.size(); i++) {
+ PortalUserDTO user = selectedUsers.get(i);
+ users += user.getLastName() + ", ";
+
+ }
+ MessageBox.confirm("Please Confirm", "You are about to register: " +users+ "?", new Listener() {
+ public void handleEvent(MessageBoxEvent ce) {
+ if (ce.getButtonClicked().getText().equals("Yes")) {
+ if (selectedUsers.size() == 1)
+ display.maskCenterPanel("Registering " + selectedUsers.get(0).getLastName() +", please wait ... ", true);
+ else
+ display.maskCenterPanel("Registering selected users, please wait it may take a while ...", true);
+ rpcService.registerUsers(selectedUsers, new AsyncCallback() {
+
+ @Override
+ public void onSuccess(Boolean result) {
+ MessageBox.info("Registering Operation", "User(s) were registrated successfully! ", null);
+ fetchAvailableUsers();
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ Window.alert("Failed to register users: " + caught.getMessage());
+ }
+ });
+ }
+
+ }
+ });
+ }
+ }
+}
+
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java
new file mode 100644
index 0000000..c131de6
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java
@@ -0,0 +1,26 @@
+package org.gcube.portlets.admin.manageusers.client.view;
+
+import java.util.List;
+
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+
+import com.extjs.gxt.ui.client.widget.button.Button;
+import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
+import com.extjs.gxt.ui.client.widget.menu.MenuItem;
+import com.google.gwt.user.client.ui.Widget;
+
+public interface Display {
+ void maskCenterPanel(String message, boolean mask);
+ void setData(List data);
+ Widget asWidget();
+ void updateSize();
+ void enableActionButtons(PortalUserDTO selectedItem);
+
+ void setGridContextMenu() ;
+ Button getApproveButton();
+ Button getRefreshButton();
+
+ MenuItem getApproveMenu();
+
+ GridSelectionModel getGridSelectionModel();
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java
new file mode 100644
index 0000000..f015538
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java
@@ -0,0 +1,319 @@
+package org.gcube.portlets.admin.manageusers.client.view;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.gcube.portlets.admin.manageusers.client.ManageVreUsers;
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+import org.gcube.portlets.user.gcubewidgets.client.GCubePanel;
+
+import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
+import com.extjs.gxt.ui.client.Style.SelectionMode;
+import com.extjs.gxt.ui.client.Style.SortDir;
+import com.extjs.gxt.ui.client.event.ButtonEvent;
+import com.extjs.gxt.ui.client.event.SelectionListener;
+import com.extjs.gxt.ui.client.store.GroupingStore;
+import com.extjs.gxt.ui.client.store.Store;
+import com.extjs.gxt.ui.client.widget.ContentPanel;
+import com.extjs.gxt.ui.client.widget.button.Button;
+import com.extjs.gxt.ui.client.widget.button.ToggleButton;
+import com.extjs.gxt.ui.client.widget.form.StoreFilterField;
+import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
+import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
+import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
+import com.extjs.gxt.ui.client.widget.grid.Grid;
+import com.extjs.gxt.ui.client.widget.grid.GridGroupRenderer;
+import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
+import com.extjs.gxt.ui.client.widget.grid.GroupColumnData;
+import com.extjs.gxt.ui.client.widget.grid.GroupingView;
+import com.extjs.gxt.ui.client.widget.layout.FitLayout;
+import com.extjs.gxt.ui.client.widget.menu.Menu;
+import com.extjs.gxt.ui.client.widget.menu.MenuItem;
+import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class VREDeploymentView extends Composite implements Display {
+ private GCubePanel mainPanel;
+ private final ContentPanel tablePanel;
+
+ private GroupingStore store;
+ private StoreFilterField filterByName;
+ private StoreFilterField filterByRole;
+ private StoreFilterField filterByLab;
+ private Grid grid;
+
+ private Button approveButton;
+ private Button refreshButton;
+
+ private MenuItem approveMenu;
+ private final CheckBoxSelectionModel sm = new CheckBoxSelectionModel();
+ private GroupingView view = new GroupingView();
+
+ private Menu gridMenu;
+ /**
+ *
+ */
+ public VREDeploymentView() {
+ mainPanel = new GCubePanel("Register Users", "no-doc");
+
+ filterByName = new StoreFilterField() {
+
+ @Override
+ protected boolean doSelect(Store store, PortalUserDTO parent, PortalUserDTO record, String property, String filter) {
+ String name = record.getLastName();
+ name = name.toLowerCase();
+ if (name.contains(filter.toLowerCase())) {
+ return true;
+ }
+ return false;
+ }
+ };
+ filterByName.setEmptyText("Filter by Last Name");
+ filterByName.setWidth("250px");
+
+ filterByRole = new StoreFilterField() {
+
+ @Override
+ protected boolean doSelect(Store store, PortalUserDTO parent, PortalUserDTO record, String property, String filter) {
+ String name = record.getRole();
+ name = name.toLowerCase();
+ if (name.contains(filter.toLowerCase())) {
+ return true;
+ }
+ return false;
+ }
+ };
+ filterByRole.setEmptyText("Filter by Role");
+ filterByRole.setWidth("250px");
+
+ filterByLab = new StoreFilterField() {
+
+ @Override
+ protected boolean doSelect(Store store, PortalUserDTO parent, PortalUserDTO record, String property, String filter) {
+ String name = record.getLaboratory();
+ name = name.toLowerCase();
+ if (name.contains(filter.toLowerCase())) {
+ return true;
+ }
+ return false;
+ }
+ };
+ filterByLab.setEmptyText("Filter by Group");
+ filterByLab.setWidth("250px");
+
+ final ToggleButton expandButton = new ToggleButton("Expand/Collapse");
+ expandButton.addSelectionListener(new SelectionListener() {
+ @Override
+ public void componentSelected(ButtonEvent ce) {
+ if (!expandButton.isPressed())
+ view.collapseAllGroups();
+ else
+ view.expandAllGroups();
+ }
+
+ });
+
+ tablePanel = new ContentPanel(new FitLayout());
+ tablePanel.setHeaderVisible(false);
+ tablePanel.setFrame(false);
+ tablePanel.setStyleAttribute("Margin", "5px");
+ mainPanel.add(tablePanel);
+
+ ToolBar toolBar = new ToolBar();
+ toolBar.getAriaSupport().setLabel("Filter Options");
+ toolBar.add(expandButton);
+ toolBar.add(filterByName);
+ toolBar.add(filterByRole);
+ toolBar.add(filterByLab);
+ tablePanel.setTopComponent(toolBar);
+
+ store = new GroupingStore();
+ filterByName.bind(store);
+ filterByRole.bind(store);
+ filterByLab.bind(store);
+
+
+ view.setShowGroupedColumn(true);
+ view.setStartCollapsed(false);
+ view.setForceFit(true);
+ final ColumnModel cm = getVREListColumnModel();
+
+ view.setGroupRenderer(new GridGroupRenderer() {
+ public String render(GroupColumnData data) {
+ String f = cm.getColumnById(data.field).getHeader();
+ String l = data.models.size() == 1 ? "user" : "users";
+ return f + ": " + data.group + " (" + data.models.size() + " " + l + ")";
+ }
+ });
+ grid = new Grid(store, cm);
+ grid.setView(view);
+
+ approveMenu = new MenuItem("Add User");
+ approveMenu.setIconStyle("approve-icon");
+
+
+ gridMenu = new Menu();
+ grid.setContextMenu(gridMenu);
+ grid.setSelectionModel(sm);
+ grid.addPlugin(sm);
+
+ approveButton = new Button("Add Selected User(s)");
+ refreshButton = new Button("Refresh");
+
+ approveButton.setEnabled(false);
+ initWidget(mainPanel);
+ updateSize();
+ }
+
+ /**
+ * display the list of wfDocuments
+ */
+ private void displayUsers() {
+ tablePanel.removeAll();
+ grid.setStyleAttribute("borderTop", "none");
+ grid.setAutoExpandColumn("name");
+ grid.setBorders(true);
+ grid.setStripeRows(true);
+ grid.getView().setForceFit(true);
+
+ ContentPanel gridPanel = new ContentPanel(new FitLayout());
+ gridPanel.setHeaderVisible(false);
+ gridPanel.add(grid);
+ gridPanel.setButtonAlign(HorizontalAlignment.CENTER);
+ gridPanel.setButtonAlign(HorizontalAlignment.CENTER);
+ gridPanel.addButton(approveButton);
+ gridPanel.addButton(refreshButton);
+
+ gridPanel.setBorders(false);
+ tablePanel.add(gridPanel);
+ tablePanel.setLayout(new FitLayout());
+ tablePanel.layout();
+ }
+
+ @Override
+ public void maskCenterPanel(String message, boolean mask) {
+ if (mask)
+ tablePanel.mask(message, "loading-indicator");
+ else
+ tablePanel.unmask();
+ }
+
+ @Override
+ public void setData(List data) {
+ store.removeAll();
+ store.setDefaultSort("lastname", SortDir.DESC);
+ store.sort("lastname", SortDir.DESC);
+ store.groupBy("initial");
+ store.add(data);
+ displayUsers();
+ }
+
+ public Widget asWidget() {
+ return this;
+ }
+ @Override
+ public void updateSize() {
+ RootPanel workspace = RootPanel.get(ManageVreUsers.CONTAINER_DIV);
+ int topBorder = workspace.getAbsoluteTop();
+ int leftBorder = workspace.getAbsoluteLeft();
+ int rightScrollBar = 17;
+ int rootHeight = Window.getClientHeight() - topBorder - 50;
+ int rootWidth = Window.getClientWidth() - 2*leftBorder - rightScrollBar;
+ tablePanel.setPixelSize(rootWidth+15, rootHeight+30);
+ mainPanel.setPixelSize(rootWidth+15, rootHeight+10);
+
+ }
+
+
+
+
+ /**
+ *
+ * @return the Column Model for the table
+ */
+ private ColumnModel getVREListColumnModel() {
+
+ List configs = new ArrayList();
+
+ configs.add(sm.getColumn());
+ sm.setSelectionMode(SelectionMode.MULTI);
+
+ ColumnConfig column = new ColumnConfig("lastname", "Last Name", 70);
+ column.setHidden(false);
+ column.setRowHeader(true);
+ configs.add(column);
+
+ column = new ColumnConfig();
+ column.setId("initial");
+ column.setHidden(true);
+ column.setHeader("");
+ column.setWidth(100);
+ configs.add(column);
+
+ column = new ColumnConfig();
+ column.setId("name");
+ column.setHeader("Name");
+ column.setWidth(70);
+ configs.add(column);
+
+ column = new ColumnConfig();
+ column.setId("id");
+ column.setHeader("Username");
+ column.setWidth(50);
+ configs.add(column);
+
+ column = new ColumnConfig("email", "E-mail", 100);
+ column.setHidden(false);
+ column.setRowHeader(true);
+ configs.add(column);
+
+ column = new ColumnConfig("role", "Role", 70);
+ column.setHidden(false);
+ column.setRowHeader(true);
+ configs.add(column);
+
+ column = new ColumnConfig();
+ column.setId("laboratory");
+ column.setHeader("Group");
+ column.setWidth(70);
+ column.setRowHeader(true);
+ configs.add(column);
+
+ return new ColumnModel(configs);
+ }
+
+
+ /**
+ * change the button to enable in the bottom bar depending on the status of the selected VRE
+ */
+ @Override
+ public void enableActionButtons(PortalUserDTO selectedItem) {
+ getApproveButton().setEnabled(true);
+ }
+
+ /**
+ *
+ */
+ @Override
+ public void setGridContextMenu() {
+ gridMenu.removeAll();
+ gridMenu.add(approveMenu);
+ }
+
+
+ @Override
+ public Button getApproveButton() { return approveButton;
+ }
+ @Override
+ public GridSelectionModel getGridSelectionModel() { return grid.getSelectionModel();
+ }
+ @Override
+ public Button getRefreshButton() {return refreshButton;
+ }
+ @Override
+ public MenuItem getApproveMenu() { return approveMenu;
+ }
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/server/ManageUsersServiceImpl.java b/src/main/java/org/gcube/portlets/admin/manageusers/server/ManageUsersServiceImpl.java
new file mode 100644
index 0000000..7f86069
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/server/ManageUsersServiceImpl.java
@@ -0,0 +1,220 @@
+package org.gcube.portlets.admin.manageusers.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.gcube.application.framework.core.session.ASLSession;
+import org.gcube.application.framework.core.session.SessionManager;
+import org.gcube.applicationsupportlayer.social.ApplicationNotificationsManager;
+import org.gcube.applicationsupportlayer.social.NotificationsManager;
+import org.gcube.common.homelibrary.home.HomeLibrary;
+import org.gcube.common.homelibrary.home.workspace.Workspace;
+import org.gcube.portal.custom.communitymanager.OrganizationsUtil;
+import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
+import org.gcube.portlets.admin.manageusers.client.ManageUsersService;
+import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+import org.gcube.vomanagement.usermanagement.GroupManager;
+import org.gcube.vomanagement.usermanagement.UserManager;
+import org.gcube.vomanagement.usermanagement.exception.GroupRetrievalFault;
+import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
+import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayGroupManager;
+import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager;
+import org.gcube.vomanagement.usermanagement.model.UserModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;
+import com.liferay.portal.model.User;
+import com.liferay.portal.security.permission.PermissionChecker;
+import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
+import com.liferay.portal.security.permission.PermissionThreadLocal;
+import com.liferay.portal.service.UserLocalServiceUtil;
+
+@SuppressWarnings("serial")
+public class ManageUsersServiceImpl extends RemoteServiceServlet implements ManageUsersService {
+
+ private static final Logger _log = LoggerFactory.getLogger(ManageUsersServiceImpl.class);
+ private boolean withinPortal = false;
+
+ private GroupManager groupM = new LiferayGroupManager();
+ private UserManager userM = new LiferayUserManager();
+ //this prop is needed for expando attributes
+ private static final String ADMIN_USERNAME = "administratorUsername";
+
+ private final static String POSITION = "POSITION";
+ private final static String LABS = "LABS";
+
+ /**
+ * the current ASLSession
+ * @return the session
+ */
+ private ASLSession getASLSession() {
+ String sessionID = this.getThreadLocalRequest().getSession().getId();
+ String user = (String) this.getThreadLocalRequest().getSession().getAttribute(ScopeHelper.USERNAME_ATTRIBUTE);
+ if (user == null) {
+ _log.warn("USER IS NULL setting test.user");
+ user = "test.user";
+ }
+ else {
+ _log.info("LIFERAY PORTAL DETECTED user=" + user);
+ withinPortal = true;
+ }
+ return SessionManager.getInstance().getASLSession(sessionID, user);
+ }
+
+ @Override
+ public ArrayList getAvailableUsers() {
+ getASLSession();
+ ArrayList toReturn = new ArrayList();
+ if (withinPortal) {
+ return getNonBelongingUsersForVRE();
+ }
+ else {
+ for (int i = 0; i < 20; i++) {
+ String role = i % 2 == 0 ? "Research Staff" : "Graduate Fellow";
+ String lastName = "TheLastName " + i;
+ String firstLetter = lastName.substring(0,1);
+ PortalUserDTO toAdd = new PortalUserDTO(""+i, firstLetter, "aName "+i, lastName, i+"email@isti.cnr.it", role, "HPC");
+ toReturn.add(toAdd);
+ }
+
+ PortalUserDTO toAdd = new PortalUserDTO(""+1, "A", "Massimiliano", "Assante", "assante@isti.cnr.it", "Research Staff", "NeMIS");
+ toReturn.add(toAdd);
+ toAdd = new PortalUserDTO(""+1, "M", "Francesco", "Mangiacrapa", "mangi@isti.cnr.it", "Graduate Fellow", "NeMIS");
+ toReturn.add(toAdd);
+ toAdd = new PortalUserDTO(""+1, "N", "Salvatore", "Neri", "neri@isti.cnr.it", "Graduate Fellow", "KDD");
+ toReturn.add(toAdd);
+ toAdd = new PortalUserDTO(""+1, "P", "Giorgio", "Pini", "pini@isti.cnr.it", "Graduate Fellow", "SI");
+ toReturn.add(toAdd);
+ toAdd = new PortalUserDTO(""+1, "F", "Dario", "Faggiu", "faggiu@isti.cnr.it", "Research Staff", "VC");
+ toReturn.add(toAdd);
+ return toReturn;
+ }
+
+ }
+
+ /**
+ * Retrieves all the users that are registered to portal but are not registered to the current VO
+ *
+ * @return A list with the username of the unregistered users
+ */
+ @SuppressWarnings("unchecked")
+ public ArrayList getNonBelongingUsersForVRE() {
+
+ try {
+ long companyId = OrganizationsUtil.getCompany().getCompanyId();
+ _log.trace("Setting Thread Permission");
+ User user = UserLocalServiceUtil.getUserByScreenName(companyId, ScopeHelper.getAdministratorUsername());
+ PermissionChecker permissionChecker = PermissionCheckerFactoryUtil.create(user, false);
+ PermissionThreadLocal.setPermissionChecker(permissionChecker);
+ _log.trace("Setting Permission ok!");
+
+ ArrayList unregisteredUsers = new ArrayList();
+ List notBelongingUsers = userM.listUnregisteredUsersByGroup(getCurrentGroupID());
+ for (UserModel u : notBelongingUsers) {
+ String id = u.getScreenName();
+ user = UserLocalServiceUtil.getUserByScreenName(companyId, id);
+
+ String position = (user.getExpandoBridge().getAttribute(POSITION) != null) ? user.getExpandoBridge().getAttribute(POSITION).toString() : "";
+ String labs = (user.getExpandoBridge().getAttribute(LABS) != null) ? user.getExpandoBridge().getAttribute(LABS).toString() : "";
+ if ((u.getLastname() != null && u.getLastname().compareTo("") != 0)) {
+ String firstLetter = u.getLastname().substring(0,1);
+ PortalUserDTO myUser = new PortalUserDTO(id, firstLetter, u.getFirstname(), u.getLastname(), u.getEmail(), position, labs);
+ unregisteredUsers.add(myUser);
+ }
+ }
+ _log.debug("The total unregistered users are: " + unregisteredUsers.size());
+
+ _log.trace("Setting Thread Permission back to regular");
+ user = UserLocalServiceUtil.getUserByScreenName(companyId, getASLSession().getUsername());
+ permissionChecker = PermissionCheckerFactoryUtil.create(user, false);
+ PermissionThreadLocal.setPermissionChecker(permissionChecker);
+
+ _log.trace("Setting Permission ok!");
+
+ return unregisteredUsers;
+ }
+ catch (Exception e) {
+ _log.error("Failed to retrieve the unregistered users. An exception was thrown", e);
+ }
+ return null;
+ }
+ /**
+ * register the user to the VRE and in the HL Group, plus send notifications to the users
+ */
+ @Override
+ public boolean registerUsers(List users2Register) {
+ for (PortalUserDTO user : users2Register) {
+ try {
+ //add the user to the VRE
+ userM.assignUserToGroup(getCurrentGroupID(), userM.getUserId(user.getId()));
+ //add him to the HL
+ ASLSession session = getASLSession();
+ addUserToHLGroup(user.getId(), session.getScope(), session.getUsername());
+ //send notification
+ sendNotificationToUser(user);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ return false;
+ }
+ /**
+ *
+ * @param addressee
+ * @return
+ * @throws Exception
+ */
+ private boolean sendNotificationToUser(PortalUserDTO addressee) throws Exception {
+ ASLSession session = getASLSession();
+ Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername());
+ ArrayList toSend = new ArrayList();
+ toSend.add(addressee.getId());
+ String subject = "Registration to Group Notification";
+ String body = "Dear "+addressee.getName()+", \n\n" + session.getUserFullName() + " has registered you to the group " + getASLSession().getGroupName()+".";
+ workspace.getWorkspaceMessageManager().sendMessageToPortalLogins(subject, body, new ArrayList(), toSend);
+ NotificationsManager nnm = new ApplicationNotificationsManager(getASLSession());
+ if (nnm.notifyMessageReceived(addressee.getId(), subject)) {
+ _log.trace("Sent Notification: " + subject + " OK");
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Get the current group ID
+ *
+ * @return the current group ID or null if an exception is thrown
+ * @throws Exception
+ */
+ private String getCurrentGroupID() {
+ ASLSession session = getASLSession();
+ _log.debug("The current group NAME is --> " + session.getGroupName());
+ String toReturn = null;
+ try {
+ toReturn = groupM.getGroupId(session.getGroupName());
+ } catch (UserManagementSystemException | GroupRetrievalFault e) {
+ e.printStackTrace();
+ }
+ return toReturn;
+ }
+
+
+ private void addUserToHLGroup(String username, String group, String adminUsername) {
+ try {
+ org.gcube.common.homelibrary.home.workspace.usermanager.UserManager um = HomeLibrary.getHomeManagerFactory().getUserManager();
+ um.associateUserToGroup(group, username, adminUsername);
+ } catch (Exception e) {
+ _log.error("Failed to get the usermanager from HL. Could not add user to the HL group");
+ }
+ }
+
+
+
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/server/portlet/ManageVREUsersPortlet.java b/src/main/java/org/gcube/portlets/admin/manageusers/server/portlet/ManageVREUsersPortlet.java
new file mode 100644
index 0000000..7576f8a
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/server/portlet/ManageVREUsersPortlet.java
@@ -0,0 +1,56 @@
+package org.gcube.portlets.admin.manageusers.server.portlet;
+
+
+
+
+import java.io.IOException;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
+
+import com.liferay.portal.kernel.exception.PortalException;
+import com.liferay.portal.kernel.exception.SystemException;
+import com.liferay.portal.kernel.log.Log;
+import com.liferay.portal.kernel.log.LogFactoryUtil;
+import com.liferay.portal.kernel.util.WebKeys;
+import com.liferay.portal.model.User;
+import com.liferay.portal.service.UserLocalServiceUtil;
+import com.liferay.portal.theme.ThemeDisplay;
+
+/**
+ * ManageVREUsersPortlet Portlet Class
+ * @author Massimiliano Assante - ISTI CNR
+ * @version 1.0 Feb 2014
+ */
+public class ManageVREUsersPortlet extends GenericPortlet {
+
+ private static Log _log = LogFactoryUtil.getLog(ManageVREUsersPortlet.class);
+
+
+ public void doView(RenderRequest request, RenderResponse response)
+ throws PortletException, IOException {
+
+ ScopeHelper.setContext(request);
+
+ PortletRequestDispatcher dispatcher =
+ getPortletContext().getRequestDispatcher("/WEB-INF/jsp/manageusers_view.jsp");
+ dispatcher.include(request, response);
+
+ }
+
+ /**
+ *
+ */
+ public void processAction(ActionRequest request, ActionResponse response)
+ throws PortletException, IOException {
+ }
+
+}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/shared/PortalUserDTO.java b/src/main/java/org/gcube/portlets/admin/manageusers/shared/PortalUserDTO.java
new file mode 100644
index 0000000..a467eae
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/shared/PortalUserDTO.java
@@ -0,0 +1,56 @@
+package org.gcube.portlets.admin.manageusers.shared;
+
+import com.extjs.gxt.ui.client.data.BaseModel;
+
+@SuppressWarnings("serial")
+public class PortalUserDTO extends BaseModel {
+
+ public PortalUserDTO() {
+ }
+
+ /**
+ *
+ * @param id
+ * @param initial the first letter of the last name
+ * @param name
+ * @param lastname
+ * @param email
+ * @param role
+ * @param laboratory
+ */
+ public PortalUserDTO(String id, String initial, String name, String lastname, String email, String role, String laboratory) {
+ set("id", id);
+ set("initial", initial);
+ set("name", name);
+ set("lastname", lastname);
+ set("email", email);
+ set("role", role);
+ set("laboratory", laboratory);
+ }
+
+ public String getId() { return (String) get("id"); }
+
+ public String getInitial() { return (String) get("initial"); }
+
+ public String getName() {return (String) get("name"); }
+
+ public String getLastName() {return (String) get("lastname"); }
+
+ public String getEmail() {return (String) get("email"); }
+
+ public String getRole() {return (String) get("role"); }
+
+ public String getLaboratory() { return (String) get("laboratory"); }
+
+ @Override
+ public String toString() {
+ return "PortalUserDTO [getId()=" + getId() + ", getInitial()="
+ + getInitial() + ", getName()=" + getName()
+ + ", getLastName()=" + getLastName() + ", getEmail()="
+ + getEmail() + ", getRole()=" + getRole()
+ + ", getLaboratory()=" + getLaboratory() + "]";
+ }
+
+
+
+}
diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties
new file mode 100644
index 0000000..fd367a5
--- /dev/null
+++ b/src/main/resources/clientlog4j.properties
@@ -0,0 +1,18 @@
+log4j.rootLogger=DEBUG, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+
+# Print the date in ISO 8601 format
+log4j.appender.A1.layout.ConversionPattern=%d %-5p %c - %m%n
+
+# Print only messages of level TRACE or above in the package org.gcube
+log4j.logger.org.gcube=TRACE
+log4j.logger.org.gcube.application.framework.core.session=INFO
+log4j.logger.org.gcube.contentmanager=ERROR
+log4j.logger.org.gcube.common.scope=ERROR
+log4j.logger.org.gcube.contentmanagement=ERROR
+log4j.logger.org.gcube.resources.discovery.icclient=ERROR
+log4j.logger.org.gcube.common.clients=ERROR
+log4j.logger.org.gcube.common.homelibrary.jcr=ERROR
+log4j.logger.org.gcube.application.framework.accesslogger=ERROR
+log4j.logger.org.apache.pdfbox.util.PDFStreamEngine=ERROR
diff --git a/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml b/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml
new file mode 100644
index 0000000..a189e4c
--- /dev/null
+++ b/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/ManageVreUsers.css b/src/main/webapp/ManageVreUsers.css
new file mode 100644
index 0000000..19ff779
--- /dev/null
+++ b/src/main/webapp/ManageVreUsers.css
@@ -0,0 +1,11 @@
+@import url(newtheme.css);
+
+
+.approve-icon {
+ background-image:url(images/vre_approve.png) !important;
+}
+
+.loading-indicator {
+ background-position: 5px 50%;
+ background-image: url("images/loader.gif");
+}
diff --git a/src/main/webapp/ManageVreUsers.html b/src/main/webapp/ManageVreUsers.html
new file mode 100644
index 0000000..ac62d7d
--- /dev/null
+++ b/src/main/webapp/ManageVreUsers.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Web Application Starter Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/manageusers_view.jsp b/src/main/webapp/WEB-INF/jsp/manageusers_view.jsp
new file mode 100644
index 0000000..709fd2c
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/manageusers_view.jsp
@@ -0,0 +1,18 @@
+<%@page contentType="text/html"%>
+<%@page pageEncoding="UTF-8"%>
+
+<%-- Uncomment below lines to add portlet taglibs to jsp
+<%@ page import="javax.portlet.*"%>
+<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
+
+
+--%>
+
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/liferay-display.xml b/src/main/webapp/WEB-INF/liferay-display.xml
new file mode 100644
index 0000000..90c3dac
--- /dev/null
+++ b/src/main/webapp/WEB-INF/liferay-display.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/liferay-plugin-package.properties b/src/main/webapp/WEB-INF/liferay-plugin-package.properties
new file mode 100644
index 0000000..85637ed
--- /dev/null
+++ b/src/main/webapp/WEB-INF/liferay-plugin-package.properties
@@ -0,0 +1,9 @@
+name=MyVREs
+module-group-id=liferay
+module-incremental-version=1
+tags=
+short-description=
+change-log=
+page-url=http://www.d4science.org
+author=D4Science Org.
+licenses=EUPL
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/liferay-portlet.xml b/src/main/webapp/WEB-INF/liferay-portlet.xml
new file mode 100644
index 0000000..7955968
--- /dev/null
+++ b/src/main/webapp/WEB-INF/liferay-portlet.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+ RegisterVREUsers
+ false
+ false
+ false
+
+ /ManageVreUsers.css
+
+
+ administrator
+ Administrator
+
+
diff --git a/src/main/webapp/WEB-INF/portlet.xml b/src/main/webapp/WEB-INF/portlet.xml
new file mode 100644
index 0000000..9ba20af
--- /dev/null
+++ b/src/main/webapp/WEB-INF/portlet.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ RegisterVREUsers
+ Register VRE Users
+ org.gcube.portlets.admin.manageusers.server.portlet.ManageVREUsersPortlet
+ 0
+
+ text/html
+
+
+ Register VRE Users
+ Register VRE Users
+ RegisterVREUsers
+
+
+ administrator
+
+
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..3c84e69
--- /dev/null
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+ manageUsersServlet
+ org.gcube.portlets.admin.manageusers.server.ManageUsersServiceImpl
+
+
+
+ manageUsersServlet
+ /managevreusers/manageUsersServlet
+
+
+
+ ManageVreUsers.html
+
+
+
diff --git a/src/main/webapp/conf/settings.properties b/src/main/webapp/conf/settings.properties
new file mode 100644
index 0000000..b96bf6b
--- /dev/null
+++ b/src/main/webapp/conf/settings.properties
@@ -0,0 +1 @@
+adminusername=social.isti
\ No newline at end of file
diff --git a/src/main/webapp/gxt/chart/open-flash-chart.swf b/src/main/webapp/gxt/chart/open-flash-chart.swf
new file mode 100644
index 0000000..5ec4444
Binary files /dev/null and b/src/main/webapp/gxt/chart/open-flash-chart.swf differ
diff --git a/src/main/webapp/gxt/css/gxt-all.css b/src/main/webapp/gxt/css/gxt-all.css
new file mode 100644
index 0000000..608d24b
--- /dev/null
+++ b/src/main/webapp/gxt/css/gxt-all.css
@@ -0,0 +1,7451 @@
+html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}img,body,html{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul {list-style:none;}caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;}q:before,q:after{content:'';}
+.x-contrast-test {
+ background: url(../images/default/s.gif);
+ visibility: hidden;
+ position: relative;
+ left: -1000px;
+ top: -1000px;
+}
+.ext-el-mask {
+ z-index: 100;
+ position: absolute;
+ top: 0;
+ left: 0;
+ -moz-opacity: 0.5;
+ opacity: .50;
+ filter: alpha(opacity = 50);
+ width: 100%;
+ height: 100%;
+ zoom: 1;
+}
+
+.ext-el-mask-msg {
+ z-index: 101;
+ position: absolute;
+ top: 0;
+ left: 0;
+ border: 1px solid;
+ background: repeat-x 0 -16px;
+ padding: 2px;
+}
+
+.ext-el-mask-msg div {
+ padding: 5px 10px 5px 10px;
+ border: 1px solid;
+ cursor: wait;
+}
+
+.ext-webkit *:focus {
+ outline: none !important;
+}
+
+.ext-webkit .x-form-check-wrap input:focus {
+ outline: auto !important;
+}
+
+.ext-shim {
+ position: absolute;
+ visibility: hidden;
+ left: 0;
+ top: 0;
+ overflow: hidden;
+}
+
+.ext-ie .ext-shim {
+ filter: alpha(opacity = 0);
+}
+
+.ext-ie6 .ext-shim {
+ margin-left: 5px;
+ margin-top: 3px;
+}
+
+.x-mask-loading div {
+ padding: 5px 10px 5px 25px;
+ background: no-repeat 5px 5px;
+ line-height: 16px;
+}
+
+.x-hidden,.x-hide-offsets {
+ position: absolute !important;
+ left: -10000px !important;
+ top: -10000px !important;
+ visibility: hidden !important;
+}
+
+.x-hide-display {
+ display: none !important;
+}
+
+.x-hide-visibility {
+ visibility: hidden !important;
+}
+
+.x-masked {
+ overflow: hidden !important;
+}
+
+.x-masked-relative {
+ position: relative !important;
+}
+
+.x-masked select,.x-masked object,.x-masked embed {
+ visibility: hidden;
+}
+
+.x-layer {
+ visibility: hidden;
+}
+
+.x-unselectable,.x-unselectable * {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore;
+}
+
+.x-unselectable-single {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore;
+}
+
+.x-selectable,.x-selectable * {
+ -moz-user-select: text !important;
+ -webkit-user-select: auto;
+}
+
+.x-repaint {
+ zoom: 1;
+ background-color: transparent;
+ -moz-outline: none;
+ outline: 0 none;
+}
+
+.x-item-disabled {
+ cursor: default;
+ opacity: .6;
+ -moz-opacity: .6;
+ filter: alpha(opacity = 60);
+}
+
+.ext-ie .x-item-disabled {
+ filter: none !important;
+}
+
+.x-item-disabled * {
+ cursor: default !important;
+}
+
+.x-splitbar-proxy {
+ position: absolute;
+ visibility: hidden;
+ z-index: 20001;
+ zoom: 1;
+ line-height: 1px;
+ font-size: 1px;
+ overflow: hidden;
+}
+
+.x-splitbar-h,.x-splitbar-proxy-h {
+ cursor: e-resize;
+ cursor: col-resize;
+}
+
+.x-splitbar-v,.x-splitbar-proxy-v {
+ cursor: s-resize;
+ cursor: row-resize;
+}
+
+.x-color-palette {
+ width: 150px;
+ height: 92px;
+ cursor: pointer;
+ -moz-outline: 0 none;
+ outline: 0 none;
+}
+
+.x-color-palette a {
+ border: 1px solid;
+ float: left;
+ padding: 2px;
+ text-decoration: none;
+ -moz-outline: 0 none;
+ outline: 0 none;
+ cursor: pointer;
+}
+
+.x-color-palette a.x-color-palette-hover,.x-color-palette a.x-color-palette-sel {
+ border: 1px solid;
+}
+
+.x-color-palette em {
+ display: block;
+ border: 1px solid;
+}
+
+.x-color-palette em span {
+ cursor: pointer;
+ display: block;
+ height: 10px;
+ line-height: 10px;
+ width: 10px;
+}
+
+.x-ie-shadow {
+ display: none;
+ position: absolute;
+ overflow: hidden;
+ left: 0;
+ top: 0;
+ zoom: 1;
+}
+
+.x-shadow {
+ display: none;
+ position: absolute;
+ overflow: hidden;
+ left: 0;
+ top: 0;
+}
+
+.x-shadow * {
+ overflow: hidden;
+}
+
+.x-shadow * {
+ padding: 0;
+ border: 0;
+ margin: 0;
+ clear: none;
+ zoom: 1;
+}
+
+.x-shadow .xstc,.x-shadow .xsbc {
+ height: 6px;
+ float: left;
+}
+
+.x-shadow .xstl,.x-shadow .xstr,.x-shadow .xsbl,.x-shadow .xsbr {
+ width: 6px;
+ height: 6px;
+ float: left;
+}
+
+.x-shadow .xsc {
+ width: 100%;
+}
+
+.x-shadow .xsml,.x-shadow .xsmr {
+ width: 6px;
+ float: left;
+ height: 100%;
+}
+
+.x-shadow .xsmc {
+ float: left;
+ height: 100%;
+ background: transparent;
+}
+
+.x-shadow .xst,.x-shadow .xsb {
+ height: 6px;
+ overflow: hidden;
+ width: 100%;
+}
+
+.x-shadow .xsml {
+ background: transparent repeat-y 0 0;
+}
+
+.x-shadow .xsmr {
+ background: transparent repeat-y -6px 0;
+}
+
+.x-shadow .xstl {
+ background: transparent no-repeat 0 0;
+}
+
+.x-shadow .xstc {
+ background: transparent repeat-x 0 -30px;
+}
+
+.x-shadow .xstr {
+ background: transparent repeat-x 0 -18px;
+}
+
+.x-shadow .xsbl {
+ background: transparent no-repeat 0 -12px;
+}
+
+.x-shadow .xsbc {
+ background: transparent repeat-x 0 -36px;
+}
+
+.x-shadow .xsbr {
+ background: transparent repeat-x 0 -6px;
+}
+
+.loading-indicator {
+ background: no-repeat left;
+ padding-left: 20px;
+ line-height: 16px;
+ margin: 3px;
+}
+
+.x-text-resize {
+ position: absolute;
+ left: -1000px;
+ top: -1000px;
+ visibility: hidden;
+ zoom: 1;
+}
+
+.x-drag-overlay {
+ width: 100%;
+ height: 100%;
+ display: none;
+ position: absolute;
+ left: 0;
+ top: 0;
+ background-image: url(../images/default/s.gif);
+ z-index: 20000;
+}
+
+.x-clear {
+ clear: both;
+ overflow: hidden;
+ line-height: 0;
+ font-size: 0;
+}
+
+.x-spotlight {
+ z-index: 8999;
+ position: absolute;
+ top: 0;
+ left: 0;
+ -moz-opacity: 0.5;
+ opacity: .50;
+ filter: alpha(opacity = 50);
+ width: 0;
+ height: 0;
+ zoom: 1;
+}
+
+#x-history-frame {
+ position: absolute;
+ top: -1px;
+ left: 0;
+ width: 1px;
+ height: 1px;
+ visibility: hidden;
+}
+
+#x-history-field {
+ position: absolute;
+ top: 0;
+ left: -1px;
+ width: 1px;
+ height: 1px;
+ visibility: hidden;
+}
+
+.x-portlet {
+ margin-bottom: 10px;
+}
+
+.x-portlet .x-panel-body {
+ background-color: white !important;
+}
+
+.ext-ie .x-btn-icon .x-btn-center .x-btn-text {
+ height: auto;
+}
+
+.x-portal-insert div {
+ height: 4px;
+ font-size: 0px;
+ border: 2px dotted blue;
+}
+
+.icon-wait {
+ background: url(../images/gxt/icons/wait.gif) no-repeat !important;
+}
+
+.x-panel-icon {
+ padding-left: 20px !important;
+}
+
+.x-icon-btn {
+ width: 16px;
+ height: 16px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+ cursor: pointer;
+}
+
+.x-panel-inline-icon {
+ margin-top: 0;
+}
+
+.x-modal {
+ position: absolute;
+ z-index: 10;
+ background-color: black;
+ filter: alpha(opacity = 10);
+ opacity: .1;
+ left: 0px;
+ top: 0px;
+}
+
+.x-progress {
+ font-family: tahoma, arial, helvetica, sans-serif;
+}
+
+.x-float-right {
+ float: right;
+}
+
+.x-toolbar .x-float-right {
+ margin-right: 4px;
+}
+
+.x-border {
+ border: 1px solid #99BBE8;
+}
+
+.x-border-top {
+ border-top: 1px solid #99BBE8;
+}
+
+.x-layout-popup {
+ background-color: #DFE8F6;
+ border: 1px solid #7CA4D9;
+}
+
+.x-panel-popup-body {
+ border-top: 1px solid #99BBE8;
+}
+
+.x-layout-collapsed .x-panel-header {
+ border-left: none;
+ border-right: none;
+ border-top: none;
+}
+
+.x-layout-collapsed .x-panel-header .x-tool {
+ margin: 0 0 0 -4px;
+ padding: 0px;
+}
+
+.x-layout-collapsed {
+ position: absolute;
+ visibility: hidden;
+ background-color: #d2e0f2;
+ width: 20px;
+ height: 20px;
+ overflow: hidden;
+ border: 1px solid #98c0f4;
+ z-index: 20;
+}
+
+.ext-border-box .x-layout-collapsed {
+ width: 22px;
+ height: 22px;
+}
+
+.x-layout-collapsed-over {
+ cursor: pointer;
+ background-color: #d9e8fb;
+}
+
+.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 20px;
+ height: 20px;
+}
+
+.x-panel-toolbar {
+ float: right;
+}
+
+.x-cursor-row-resize {
+ cursor: n-resize;
+ cursor: row-resize;
+}
+
+.x-date-picker,.x-date-picker a {
+ font-size: 11px;
+}
+
+.x-date-days {
+ table-layout: fixed;
+ width: 100%;
+}
+
+.x-date-days td {
+ width: 25px;
+ border: none;
+}
+
+.x-date-days td span {
+ display: block;
+ padding: 2px 7px 2px 2px;
+}
+
+.x-date-days td {
+ background: #DFECFB url(../images/default/shared/glass-bg.gif) repeat-x scroll left top;
+ border-bottom: 1px solid #A3BAD9;
+ border-collapse: separate;
+ color: #233D6D;
+ cursor: default;
+ font-family: arial, helvetica, tahoma, sans-serif;
+ font-size: 10px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: normal;
+ padding: 0pt;
+ text-align: right !important;
+}
+
+.x-date-picker .x-date-header {
+ background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
+ height: 22px;
+ left: 10px;
+ top: 10px;
+ width: 157px;
+}
+
+.x-date-header .x-btn .x-btn-text {
+ color: #fff;
+}
+
+.x-date-picker-footer {
+ width: 100%;
+}
+
+.x-date-picker-footer td {
+ text-align: center;
+}
+
+.x-date-left {
+ background: transparent url(../images/default/shared/hd-sprite.gif) repeat-x scroll 0pt -83px;
+ color: #FFFFFF;
+ font-family: "sans serif", tahoma, verdana, helvetica;
+ font-size: 11px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: bold;
+ line-height: normal;
+ overflow: hidden;
+}
+
+.x-modal {
+ position: absolute;
+ z-index: 10;
+ background-color: black;
+ filter: alpha(opacity = 10);
+ opacity: .1;
+ left: 0px;
+ top: 0px;
+}
+
+.x-progress {
+ font-family: tahoma, arial, helvetica, sans-serif;
+}
+
+.x-float-right {
+ float: right;
+}
+
+.x-layout-popup {
+ background-color: #DFE8F6;
+ border: 1px solid #7CA4D9;
+}
+
+.x-layout-collapsed .x-panel-header .x-tool {
+ margin: 0 0 0 -4px;
+ padding: 0px;
+}
+
+.ext-border-box .x-layout-collapsed {
+ width: 22px;
+ height: 22px;
+}
+
+.x-layout-collapsed-over {
+ cursor: pointer;
+ background-color: #d9e8fb;
+}
+
+.x-layout-collapsed-west .x-layout-collapsed-tools,.x-layout-collapsed-east .x-layout-collapsed-tools {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 20px;
+ height: 20px;
+}
+
+.x-panel-toolbar {
+ float: right;
+}
+
+.x-cursor-col-resize {
+ cursor: e-resize;
+ cursor: col-resize;
+}
+
+.x-cursor-row-resize {
+ cursor: n-resize;
+ cursor: row-resize;
+}
+
+.x-drag-proxy {
+ border: 1px dashed #3b5a82;
+ background-color: #EDEDED;
+ filter: alpha(opacity = 50);
+ opacity: .5;
+ background-color: #c3daf9;
+ z-index: 20000;
+ overflow: hidden;
+ position: absolute;
+ left: 0;;
+ top: 0;
+ cursor: move;
+}.x-tab-panel {
+ overflow: hidden;
+ -moz-outline: none;
+ outline: 0 none;
+}
+
+.x-tab-panel-header,.x-tab-panel-footer {
+ border: 1px solid;
+ overflow: hidden;
+ zoom: 1;
+}
+
+.x-tab-panel-header {
+ border: 1px solid;
+ padding-bottom: 2px;
+}
+
+.x-tab-panel-footer {
+ border: 1px solid;
+ padding-top: 2px;
+}
+
+.x-tab-strip-wrap {
+ width: 100%;
+ overflow: hidden;
+ position: relative;
+ zoom: 1;
+}
+
+ul.x-tab-strip {
+ display: block;
+ width: 7000px;
+ zoom: 1;
+}
+
+ul.x-tab-strip-top {
+ padding-top: 1px;
+ background: repeat-x bottom;
+ border-bottom: 1px solid;
+}
+
+ul.x-tab-strip-bottom {
+ padding-bottom: 1px;
+ background: repeat-x top;
+ border-top: 1px solid;
+ border-bottom: 0 none;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-top {
+ background: transparent !important;
+ padding-top: 0 !important;
+}
+
+.x-tab-panel-header-plain {
+ background: transparent !important;
+ border-width: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-spacer,.x-tab-panel-footer-plain .x-tab-strip-spacer
+ {
+ border: 1px solid;
+ height: 2px;
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-spacer {
+ border-top: 0 none;
+}
+
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+ border-bottom: 0 none;
+}
+
+.x-tab-panel-footer-plain .x-tab-strip-bottom {
+ background: transparent !important;
+ padding-bottom: 0 !important;
+}
+
+.x-tab-panel-footer-plain {
+ background: transparent !important;
+ border-width: 0 !important;
+ padding-top: 0 !important;
+}
+
+.ext-border-box .x-tab-panel-header-plain .x-tab-strip-spacer,.ext-border-box .x-tab-panel-footer-plain .x-tab-strip-spacer
+ {
+ height: 3px;
+}
+
+ul.x-tab-strip li {
+ float: left;
+ position: relative;
+ margin-left: 2px;
+}
+
+ul.x-tab-strip li.x-tab-edge {
+ float: left;
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 none !important;
+ font-size: 1px !important;
+ line-height: 1px !important;
+ overflow: hidden;
+ zoom: 1;
+ background: transparent !important;
+ width: 1px;
+}
+
+.x-tab-strip a,.x-tab-strip span,.x-tab-strip em {
+ display: block;
+}
+
+.x-tab-strip a {
+ text-decoration: none !important;
+ -moz-outline: none;
+ outline: none;
+ cursor: pointer;
+}
+
+.x-tab-strip-inner {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.x-tab-strip span.x-tab-strip-text {
+ white-space: nowrap;
+ cursor: pointer;
+ padding: 4px 0;
+}
+
+.x-tab-strip-top .x-tab-with-icon .x-tab-right {
+ padding-left: 6px;
+}
+
+.x-tab-strip .x-tab-with-icon span.x-tab-strip-text {
+ padding-left: 20px;
+ background-position: 0 3px;
+ background-repeat: no-repeat;
+}
+
+.x-tab-strip-active,.x-tab-strip-active a.x-tab-right {
+ cursor: default;
+}
+
+.x-tab-strip-active span.x-tab-strip-text {
+ cursor: default;
+}
+
+.x-tab-strip-disabled .x-tabs-text {
+ cursor: default;
+}
+
+.x-tab-panel-body {
+ overflow: hidden;
+}
+
+.x-tab-panel-bwrap {
+ overflow: hidden;
+}
+
+.ext-ie .x-tab-strip .x-tab-right {
+ position: relative;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right {
+ margin-bottom: -1px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right span.x-tab-strip-text
+ {
+ padding-bottom: 5px;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+ margin-top: -1px;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right span.x-tab-strip-text
+ {
+ padding-top: 5px;
+}
+
+.x-tab-strip-top .x-tab-right {
+ background: transparent no-repeat 0 -51px;
+ padding-left: 10px;
+}
+
+.x-tab-strip-top .x-tab-left {
+ background: transparent no-repeat right -351px;
+ padding-right: 10px;
+}
+
+.x-tab-strip-top .x-tab-strip-inner {
+ background: transparent repeat-x 0 -201px;
+}
+
+.x-tab-strip-top .x-tab-strip-over .x-tab-right {
+ background-position: 0 -101px;
+}
+
+.x-tab-strip-top .x-tab-strip-over .x-tab-left {
+ background-position: right -401px;
+}
+
+.x-tab-strip-top .x-tab-strip-over .x-tab-strip-inner {
+ background-position: 0 -251px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-right {
+ background-position: 0 0;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-left {
+ background-position: right -301px;
+}
+
+.x-tab-strip-top .x-tab-strip-active .x-tab-strip-inner {
+ background-position: 0 -151px;
+}
+
+.x-tab-strip-bottom .x-tab-right {
+ background: no-repeat bottom right;
+}
+
+.x-tab-strip-bottom .x-tab-left {
+ background: no-repeat bottom left;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+ background: no-repeat bottom left;
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+ background: no-repeat bottom right;
+}
+
+.x-tab-strip-bottom .x-tab-left {
+ padding: 0 10px;
+}
+
+.x-tab-strip-bottom .x-tab-right {
+ padding: 0;
+}
+
+.x-tab-strip .x-tab-strip-close {
+ display: none;
+}
+
+.x-tab-strip-closable {
+ position: relative;
+}
+
+.x-tab-strip-closable .x-tab-left {
+ padding-right: 19px;
+}
+
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+ opacity: .6;
+ -moz-opacity: .6;
+ background-repeat: no-repeat;
+ display: block;
+ width: 11px;
+ height: 11px;
+ position: absolute;
+ top: 3px;
+ right: 3px;
+ cursor: pointer;
+ z-index: 2;
+}
+
+.x-tab-strip .x-tab-strip-active a.x-tab-strip-close {
+ opacity: .8;
+ -moz-opacity: .8;
+}
+
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover {
+ opacity: 1;
+ -moz-opacity: 1;
+}
+
+.x-tab-panel-body {
+ border: 1px solid;
+}
+
+.x-tab-panel-body-top {
+ border-top: 0 none;
+}
+
+.x-tab-panel-body-bottom {
+ border-bottom: 0 none;
+}
+
+.x-tab-scroller-left {
+ background: transparent no-repeat -18px 0;
+ border-bottom: 1px solid;
+ width: 18px;
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 10;
+ cursor: pointer;
+}
+
+.x-tab-scroller-left-over {
+ background-position: 0 0;
+}
+
+.x-tab-scroller-left-disabled {
+ background-position: -18px 0;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ cursor: default;
+}
+
+.x-tab-scroller-right {
+ background: transparent no-repeat 0 0;
+ border-bottom: 1px solid;
+ width: 18px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 10;
+ cursor: pointer;
+}
+
+.x-tab-scroller-right-over {
+ background-position: -18px 0;
+}
+
+.x-tab-scroller-right-disabled {
+ background-position: 0 0;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ cursor: default;
+}
+
+.x-tab-scrolling-bottom .x-tab-scroller-left,.x-tab-scrolling-bottom .x-tab-scroller-right
+ {
+ margin-top: 1px;
+}
+
+.x-tab-scrolling .x-tab-strip-wrap {
+ margin-left: 18px;
+ margin-right: 18px;
+}
+
+.x-tab-scrolling {
+ position: relative;
+}
+
+.x-tab-panel-bbar .x-toolbar {
+ border: 1px solid;
+ border-top: 0 none;
+ overflow: hidden;
+ padding: 2px;
+}
+
+.x-tab-panel-tbar .x-toolbar {
+ border: 1px solid;
+ border-top: 0 none;
+ overflow: hidden;
+ padding: 2px;
+}
+
+.x-tab-strip li .x-tab-image {
+ position: absolute;
+ top: 3px;
+ left: 5px;
+}
+
+.ext-ie8 .x-tab-strip li .x-tab-image,.ext-ie8-compatibility .x-tab-strip li .x-tab-image {
+ top: 4px;
+ left: 6px;
+}
+
+.ext-ie8 .x-tab-strip-top .x-tab-right,.ext-ie8-compatibility .x-tab-strip-top .x-tab-right
+ {
+ top: 1px;
+}
+
+.ext-strict .ext-ie8 .x-tab-strip-top .x-tab-right,.ext-ie8 .x-tab-panel-header-plain .x-tab-strip-top .x-tab-right,.ext-ie8-compatibility .x-tab-panel-header-plain .x-tab-strip-top .x-tab-right
+ {
+ top: 0;
+}
+.ext-strict .ext-ie7 .x-panel-body {
+ position: relative !important;
+}
+
+.x-form-field {
+ margin: 0;
+}
+
+.foo {
+ padding: 1px;
+}
+
+.foo {
+ margin: 4px;
+}
+
+.x-form-text,textarea.x-form-field {
+ padding: 1px 3px;
+ background: repeat-x 0 0;
+ border: 1px solid;
+}
+
+.ext-gecko textarea.x-form-field {
+ padding: 0;
+}
+
+.x-form-text,.ext-ie .x-form-file {
+ height: 22px;
+ line-height: 18px;
+ vertical-align: middle;
+}
+
+.ext-ie6 .x-form-text,.ext-ie7 .x-form-text {
+ margin: -1px 0;
+ height: 22px; /* ie quirks */
+ line-height: 18px;
+}
+
+.ext-ie8-compatibility .x-form-text {
+ margin: 0;
+}
+
+.ext-ie textarea.x-form-field {
+ margin: -1px 0; /* ie bogus margin bug */
+}
+
+.ext-strict .ext-ie8 textarea.x-form-field,.ext-strict .ext-ie8-compatibility textarea.x-form-field {
+ margin: 0;
+}
+
+.x-form-field-wrap .x-form-text {
+ position: relative;
+}
+
+.ext-strict .x-form-text {
+ height: 18px;
+}
+
+.ext-safari.ext-mac textarea.x-form-field {
+ margin-bottom: -2px;
+}
+
+.ext-gecko .x-form-text,.ext-ie8 .x-form-text {
+ padding-top: 2px;
+ padding-bottom: 0;
+}
+
+textarea {
+ resize: none;
+}
+
+.x-form-select-one {
+ height: 20px;
+ line-height: 18px;
+ vertical-align: middle;
+ border: 1px solid;
+}
+
+.x-form-check-wrap {
+ line-height: 18px;
+ height: 22px;
+ white-space: nowrap;
+}
+
+.x-editor .x-form-check-wrap {
+ border: 1px solid;
+ padding: 2px;
+ height: 14px;
+}
+
+.x-editor .x-form-checkbox {
+ height: 13px;
+}
+
+.x-form-check-group-label {
+ border-bottom: 1px solid;
+ margin-bottom: 5px;
+ padding-left: 3px !important;
+ float: none !important;
+}
+
+.x-form-field-wrap .x-form-trigger {
+ width: 17px;
+ height: 21px;
+ border: 0;
+ background: transparent no-repeat 0 0;
+ cursor: pointer;
+ border-bottom: 1px solid;
+ position: absolute;
+ top: 0;
+}
+
+.ext-safari .x-form-field-wrap .x-form-trigger {
+ height: 21px;
+}
+
+.ext-strict .ext-safari .x-form-field-wrap .x-form-trigger {
+ height: 23px;
+}
+
+.ext-strict .ext-safari .x-small-editor .x-form-field-wrap .x-form-trigger {
+ height: 19px;
+}
+
+.ext-strict .ext-ie8 .x-small-editor .x-form-field-wrap .x-form-trigger {
+ height: 20px !important;
+}
+
+.ext-strict .ext-gecko .x-small-editor .x-form-field-wrap .x-form-trigger {
+ height: 21px !important;
+}
+
+.x-form-field-wrap .x-form-date-trigger,.x-form-field-wrap .x-form-clear-trigger,.x-form-field-wrap .x-form-search-trigger
+ {
+ cursor: pointer;
+}
+
+.ext-safari .x-form-field-wrap .x-form-trigger,.ext-gecko .x-form-field-wrap .x-form-trigger {
+ right: 0;
+}
+
+.x-form-field-wrap .x-form-twin-triggers .x-form-trigger {
+ position: static;
+ top: auto;
+ vertical-align: top;
+}
+
+.x-form-field-wrap {
+ position: relative;
+ left: 0;
+ top: 0;
+ zoom: 1;
+ white-space: nowrap;
+ text-align: left;
+}
+
+.x-form-field-wrap .x-form-trigger-over {
+ background-position: -17px 0;
+}
+
+.x-form-field-wrap .x-form-trigger-click {
+ background-position: -34px 0;
+}
+
+.x-trigger-wrap-focus .x-form-trigger {
+ background-position: -51px 0;
+}
+
+.x-trigger-wrap-focus .x-form-trigger-over {
+ background-position: -68px 0;
+}
+
+.x-trigger-wrap-focus .x-form-trigger-click {
+ background-position: -85px 0;
+}
+
+.x-trigger-wrap-focus .x-form-trigger {
+ border-bottom: 1px solid;
+}
+
+.x-item-disabled .x-form-trigger-over {
+ background-position: 0 0 !important;
+ border-bottom: 1px solid;
+}
+
+.x-item-disabled .x-form-trigger-click {
+ background-position: 0 0 !important;
+ border-bottom: 1px solid;
+}
+
+.x-form-focus,textarea.x-form-focus {
+ border: 1px solid;
+}
+
+.x-form-invalid,textarea.x-form-invalid {
+ background: repeat-x bottom;
+ border: 1px solid;
+}
+
+.ext-safari .x-form-invalid {
+ border: 1px solid;
+}
+
+.x-form-inner-invalid,textarea.x-form-inner-invalid {
+ background: repeat-x bottom;
+}
+
+.x-editor {
+ padding: 0;
+ margin: 0;
+}
+
+.x-form-grow-sizer {
+ left: -10000px;
+ padding: 8px 3px;
+ position: absolute;
+ visibility: hidden;
+ top: -10000px;
+ white-space: pre-wrap;
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ word-wrap: break-word;
+ zoom: 1;
+}
+
+.x-form-grow-sizer p {
+ margin: 0 !important;
+ border: 0 none !important;
+ padding: 0 !important;
+}
+
+.x-form-item {
+ display: block;
+ margin-bottom: 4px;
+}
+
+.x-form-item .x-form-item-label {
+ display: block;
+ float: left;
+ width: 100px;
+ padding: 3px;
+ padding-left: 0;
+ clear: left;
+ z-index: 2;
+ position: relative;
+}
+
+.x-form-element {
+ padding-left: 105px;
+ position: relative;
+}
+
+.x-form-invalid-msg {
+ padding: 2px;
+ padding-left: 18px;
+ background: transparent no-repeat 0 2px;
+ line-height: 16px;
+ width: 200px;
+}
+
+.x-form-label-left .x-form-item-label {
+ text-align: left;
+}
+
+.x-form-label-right .x-form-item-label {
+ text-align: right;
+}
+
+.x-form-label-top .x-form-item .x-form-item-label {
+ width: auto;
+ float: none;
+ clear: none;
+ display: inline;
+ margin-bottom: 4px;
+ position: static;
+}
+
+.x-form-label-top .x-form-element {
+ padding-left: 0;
+ padding-top: 4px;
+}
+
+.x-form-label-top .x-form-item {
+ padding-bottom: 4px;
+}
+
+.x-small-editor .x-form-text {
+ height: 20px;
+ line-height: 16px;
+ vertical-align: middle;
+}
+
+.ext-ie6 .x-small-editor .x-form-text,.ext-ie7 .x-small-editor .x-form-text {
+ height: 20px !important;
+ line-height: 16px !important;
+}
+
+.ext-strict .x-small-editor .x-form-text {
+ height: 16px !important;
+}
+
+.ext-strict .ext-ie8 .x-small-editor .x-form-text {
+ height: 17px !important;
+}
+
+.ext-strict .ext-webkit .x-small-editor .x-form-text {
+ height: 18px !important;
+ padding: 0px 3px;
+}
+
+.ext-strict .ext-gecko .x-small-editor .x-form-text {
+ height: 18px !important;
+}
+
+.ext-strict .ext-gecko .x-edit-grid .x-small-editor .x-form-text {
+ height:17px !important;
+}
+
+.ext-border-box .x-small-editor .x-form-text {
+ height: 20px;
+}
+
+.x-small-editor .x-form-select-one {
+ height: 20px;
+ line-height: 16px;
+ vertical-align: middle;
+}
+
+.x-small-editor .x-form-num-field {
+ text-align: right;
+}
+
+.x-small-editor .x-form-field-wrap .x-form-trigger {
+ height: 19px;
+}
+
+.x-form-clear {
+ clear: both;
+ overflow: hidden;
+ line-height: 0;
+ font-size: 0;
+ height: 0;
+}
+
+.x-form-clear-left {
+ clear: left;
+ overflow: hidden;
+ line-height: 0;
+ font-size: 0;
+ height: 0;
+}
+
+.x-form-cb-label {
+ width: auto !important;
+ float: none !important;
+ clear: none !important;
+ display: inline !important;
+ margin-left: 4px;
+}
+
+.x-form-column {
+ float: left;
+ padding: 0;
+ margin: 0;
+ width: 48%;
+ overflow: hidden;
+ zoom: 1;
+}
+
+.x-form .x-form-btns-ct .x-btn {
+ float: right;
+ clear: none;
+}
+
+.x-form .x-form-btns-ct .x-form-btns td {
+ border: 0;
+ padding: 0;
+}
+
+.x-form .x-form-btns-ct .x-form-btns-right table {
+ float: right;
+ clear: none;
+}
+
+.x-form .x-form-btns-ct .x-form-btns-left table {
+ float: left;
+ clear: none;
+}
+
+.x-form .x-form-btns-ct .x-form-btns-center {
+ text-align: center;
+}
+
+.x-form .x-form-btns-ct .x-form-btns-center table {
+ margin: 0 auto;
+}
+
+.x-form .x-form-btns-ct table td.x-form-btn-td {
+ padding: 3px;
+}
+
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-left {
+ background-position: 0 -147px;
+}
+
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-right {
+ background-position: 0 -168px;
+}
+
+.x-form .x-form-btns-ct .x-btn-focus .x-btn-center {
+ background-position: 0 -189px;
+}
+
+.x-form .x-form-btns-ct .x-btn-click .x-btn-center {
+ background-position: 0 -126px;
+}
+
+.x-form .x-form-btns-ct .x-btn-click .x-btn-right {
+ background-position: 0 -84px;
+}
+
+.x-form .x-form-btns-ct .x-btn-click .x-btn-left {
+ background-position: 0 -63px;
+}
+
+.x-form-invalid-icon {
+ width: 16px;
+ height: 18px;
+ position: absolute;
+ left: 0;
+ top: 0;
+ display: block;
+ background: transparent no-repeat 0 2px;
+}
+
+.x-fieldset {
+ border: 1px solid;
+ padding: 10px;
+ margin-bottom: 10px;
+ display: block;
+}
+
+.ext-ie .x-fieldset legend {
+ margin-bottom: 10px;
+}
+
+.ext-ie .x-fieldset {
+ padding-top: 0;
+ padding-bottom: 10px;
+}
+
+.x-fieldset legend .x-tool-toggle {
+ margin-right: 3px;
+ margin-left: 0;
+ float: left !important;
+}
+
+.x-fieldset legend input {
+ margin-right: 3px;
+ float: left !important;
+ height: 13px;
+ width: 13px;
+}
+
+fieldset.x-panel-collapsed {
+ padding-bottom: 0 !important;
+ border-width: 1px 1px 0 1px !important;
+ border-left-color: transparent;
+ border-right-color: transparent;
+}
+
+.ext-ie6 fieldset.x-panel-collapsed {
+ padding-bottom: 0 !important;
+ border-width: 1px 0 0 0 !important;
+ margin-left: 1px;
+ margin-right: 1px;
+}
+
+fieldset.x-panel-collapsed .x-fieldset-bwrap {
+ visibility: hidden;
+ position: absolute;
+ left: -1000px;
+ top: -1000px;
+}
+
+.ext-ie .x-fieldset-bwrap {
+ zoom: 1;
+}
+
+.x-fieldset-noborder {
+ border: 0px none transparent;
+}
+
+.x-fieldset-noborder legend {
+ margin-left: -3px;
+}
+
+.ext-ie .x-fieldset-noborder legend {
+ position: relative;
+ margin-bottom: 23px;
+}
+
+.ext-ie .x-fieldset-noborder legend span {
+ position: absolute;
+ left: 16px;
+}
+
+.ext-gecko .x-form-item {
+ -moz-outline: none;
+ outline: 0 none;
+}
+
+.x-hide-label label.x-form-item-label {
+ display: none !important;
+}
+
+.x-hide-label .x-form-element {
+ padding-left: 0 !important;
+}
+
+.x-fieldset {
+ overflow: hidden;
+}
+
+/* make top of checkbox/tools visible in webkit */
+.ext-webkit .x-fieldset-header {
+ padding-top: 1px;
+}
+
+.x-fieldset-bwrap {
+ overflow: hidden;
+ zoom: 1;
+}
+
+.x-fieldset-body {
+ overflow: hidden;
+}
+
+.x-combo-list .x-combo-selected {
+ border-color: #a3bae9 !important;
+}
+
+.x-combo-list {
+ background-color: white !important;
+}
+
+.ext-gecko .x-form-file {
+ height: inherit !important;
+}
+
+.x-form-check {
+ background: none !important
+}
+
+.x-form-radio {
+ background: none !important
+}
+
+.x-form-label {
+ padding: 2px 3px 3px 0px;
+ font-size: 12px;
+}
+
+.x-form-label-top .x-form-item {
+ padding-bottom: 0px;
+ margin-bottom: 2px;
+}
+
+.ext-safari .x-form-text {
+ height: 22px; /* safari always same size */
+ padding: 0 3px;
+ /* remove extra top/bottom padding */
+}
+
+.ext-safari .x-small-editor .x-form-text {
+ height: 20px;
+}
+
+.x-form-group-label,.x-form-cb-label {
+ font: normal 12px tahoma, arial, helvetica, sans-serif;
+ padding-right: 10px;
+}
+
+.x-form-list {
+ background: #FFFFFF url(../images/default/form/text-bg.gif) repeat-x scroll 0 0;
+ border: 1px solid #B5B8C8;
+}
+
+/*
+ * FileUploadField component styles
+ */
+.x-form-file-wrap {
+ height: 22px;
+}
+
+.x-form-file-wrap .x-form-file {
+ position: absolute;
+ right: 0;
+ -moz-opacity: 0;
+ filter: alpha(opacity : 0);
+ opacity: 0;
+ z-index: 2;
+ height: 22px;
+ top: 0;
+}
+
+.x-form-file-wrap .x-form-file-btn {
+ position: absolute;
+ right: 0;
+ z-index: 1;
+ top: 0;
+}
+
+.x-form-file-wrap .x-form-file-text {
+ z-index: 3;
+ color: #777;
+}
+
+.x-form-invalid-icon {
+ background-position: 0 0 !important;
+}
+
+.x-triggerfield-noedit {
+ cursor: pointer;
+}
+
+.ext-webkit .x-form-checkbox:focus {
+ outline: auto !important;
+}
+
+.x-spinner-field .x-form-twin-triggers .x-form-spinner-up, .x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
+ height: 10px;
+ position: absolute;
+}
+
+.ext-strict .ext-safari .x-form-field-wrap .x-form-spinner-up {
+ height: 10px;
+}
+
+.ext-strict .ext-safari .x-form-field-wrap .x-form-spinner-down {
+ height: 12px;
+}
+
+.x-spinner-field .x-form-twin-triggers .x-form-spinner-up {
+ top:0px;
+}
+
+.x-spinner-field .x-form-twin-triggers .x-form-spinner-down {
+ top:11px;
+}
+
+.x-spinner-field .x-form-twin-triggers {
+ width: 17px;
+}
+
+.x-spinner-field .x-form-spinner-down {
+ background-position:0 -12px;
+}
+
+.x-trigger-wrap-focus .x-form-spinner-up {
+ background-position:-85px 0;
+}
+
+.x-trigger-wrap-focus .x-form-spinner-down {
+ background-position:-85px -12px;
+}
+
+.x-form-field-wrap .x-form-spinner-overup{
+ background-position:-17px 0;
+}
+.x-form-field-wrap .x-form-spinner-clickup{
+ background-position:-34px 0;
+}
+
+.x-trigger-wrap-focus .x-form-spinner-overup{
+ background-position:-102px 0;
+}
+
+.x-trigger-wrap-focus .x-form-spinner-clickup{
+ background-position:-119px 0;
+}
+
+.x-form-field-wrap .x-form-spinner-overdown{
+ background-position:-51px -12px;
+}
+.x-form-field-wrap .x-form-spinner-clickdown{
+ background-position:-68px -12px;
+}
+.x-trigger-wrap-focus .x-form-spinner-overdown{
+ background-position:-136px -12px;
+}
+.x-trigger-wrap-focus .x-form-spinner-clickdown{
+ background-position:-153px -12px;
+}.x-btn{
+ cursor:pointer;
+ white-space: nowrap;
+}
+.x-btn button{
+ border:0 none;
+ background:transparent;
+ padding-left:3px;
+ padding-right:3px;
+ cursor:pointer;
+ margin:0;
+ overflow:hidden;
+ width:auto;
+ -moz-outline:0 none;
+ outline:0 none;
+}
+* html .ext-ie .x-btn button {
+ width:1px;
+}
+.ext-ie .x-item-disabled .x-btn-mc img {
+ filter: alpha(opacity=60);
+}
+.ext-gecko .x-btn button,.ext-webkit .x-btn button {
+ padding-left:0;
+ padding-right:0;
+}
+.ext-gecko .x-btn button::-moz-focus-inner {
+ padding:0;
+}
+.ext-ie .x-btn button {
+ padding-top:2px;
+}
+.x-btn td {
+ padding:0 !important;
+}
+.x-btn-text {
+ cursor:pointer;
+ white-space: nowrap;
+ padding:0;
+}
+.x-btn-noicon .x-btn-small .x-btn-text{
+ height: 16px;
+}
+.x-btn-noicon .x-btn-medium .x-btn-text{
+ height: 24px;
+}
+.x-btn-noicon .x-btn-large .x-btn-text{
+ height: 32px;
+}
+.x-btn-icon .x-btn-text{
+ background-position: center;
+ background-repeat: no-repeat;
+}
+.x-btn-icon .x-btn-small .x-btn-text{
+ height: 16px;
+ width: 16px;
+}
+.x-btn-icon .x-btn-medium .x-btn-text{
+ height: 24px;
+ width: 24px;
+}
+.x-btn-icon .x-btn-large .x-btn-text{
+ height: 32px;
+ width: 32px;
+}
+.x-btn-text-icon .x-btn-icon-small-left .x-btn-text{
+ background-position: 0 center;
+ background-repeat: no-repeat;
+ padding-left:18px;
+ height:16px;
+}
+.x-btn-text-icon .x-btn-icon-medium-left .x-btn-text{
+ background-position: 0 center;
+ background-repeat: no-repeat;
+ padding-left:26px;
+ height:24px;
+}
+.x-btn-text-icon .x-btn-icon-large-left .x-btn-text{
+ background-position: 0 center;
+ background-repeat: no-repeat;
+ padding-left:34px;
+ height:32px;
+}
+.x-btn-text-icon .x-btn-icon-small-top .x-btn-text{
+ background-position: center 0;
+ background-repeat: no-repeat;
+ padding-top:18px;
+}
+.x-btn-text-icon .x-btn-icon-medium-top .x-btn-text{
+ background-position: center 0;
+ background-repeat: no-repeat;
+ padding-top:26px;
+}
+.x-btn-text-icon .x-btn-icon-large-top .x-btn-text{
+ background-position: center 0;
+ background-repeat: no-repeat;
+ padding-top:34px;
+}
+.x-btn-text-icon .x-btn-icon-small-right .x-btn-text{
+ background-position: right center;
+ background-repeat: no-repeat;
+ padding-right:18px;
+ height:16px;
+}
+.x-btn-text-icon .x-btn-icon-medium-right .x-btn-text{
+ background-position: right center;
+ background-repeat: no-repeat;
+ padding-right:26px;
+ height:24px;
+}
+.x-btn-text-icon .x-btn-icon-large-right .x-btn-text{
+ background-position: right center;
+ background-repeat: no-repeat;
+ padding-right:34px;
+ height:32px;
+}
+.x-btn-text-icon .x-btn-icon-small-bottom .x-btn-text{
+ background-position: center bottom;
+ background-repeat: no-repeat;
+ padding-bottom:18px;
+}
+.x-btn-text-icon .x-btn-icon-medium-bottom .x-btn-text{
+ background-position: center bottom;
+ background-repeat: no-repeat;
+ padding-bottom:26px;
+}
+.x-btn-text-icon .x-btn-icon-large-bottom .x-btn-text{
+ background-position: center bottom;
+ background-repeat: no-repeat;
+ padding-bottom:34px;
+}
+.x-btn-tr i, .x-btn-tl i, .x-btn-mr i, .x-btn-ml i, .x-btn-br i, .x-btn-bl i{
+ font-size:1px;
+ line-height:1px;
+ width:3px;
+ display:block;
+ overflow:hidden;
+}
+.x-btn-tr i, .x-btn-tl i, .x-btn-br i, .x-btn-bl i{
+ height:3px;
+}
+.x-btn-tl{
+ width:3px;
+ height:3px;
+ background:no-repeat 0 0;
+}
+.x-btn-tr{
+ width:3px;
+ height:3px;
+ background:no-repeat -3px 0;
+}
+.x-btn-tc{
+ height:3px;
+ background:repeat-x 0 -6px;
+}
+.x-btn-ml{
+ width:3px;
+ background:no-repeat 0 -24px;
+}
+.x-btn-mr{
+ width:3px;
+ background:no-repeat -3px -24px;
+}
+.x-btn-mc{
+ background:repeat-x 0 -1096px;
+ vertical-align: middle;
+ text-align:center;
+ padding:0 5px;
+ cursor:pointer;
+ white-space:nowrap;
+}
+.x-btn-bl{
+ width:3px;
+ height:3px;
+ background:no-repeat 0 -3px;
+}
+.x-btn-br{
+ width:3px;
+ height:3px;
+ background:no-repeat -3px -3px;
+}
+.x-btn-bc{
+ height:3px;
+ background:repeat-x 0 -15px;
+}
+.x-btn-over .x-btn-tl{
+ background-position: -6px 0;
+}
+.x-btn-over .x-btn-tr{
+ background-position: -9px 0;
+}
+.x-btn-over .x-btn-tc{
+ background-position: 0 -9px;
+}
+.x-btn-over .x-btn-ml{
+ background-position: -6px -24px;
+}
+.x-btn-over .x-btn-mr{
+ background-position: -9px -24px;
+}
+.x-btn-over .x-btn-mc{
+ background-position: 0 -2168px;
+}
+.x-btn-over .x-btn-bl{
+ background-position: -6px -3px;
+}
+.x-btn-over .x-btn-br{
+ background-position: -9px -3px;
+}
+.x-btn-over .x-btn-bc{
+ background-position: 0 -18px;
+}
+.ext-webkit .x-btn-focus .x-btn-tl{
+ background-position: -6px 0;
+}
+.ext-webkit .x-btn-focus .x-btn-tr{
+ background-position: -9px 0;
+}
+.ext-webkit .x-btn-focus .x-btn-tc{
+ background-position: 0 -9px;
+}
+.ext-webkit .x-btn-focus .x-btn-ml{
+ background-position: -6px -24px;
+}
+.ext-webkit .x-btn-focus .x-btn-mr{
+ background-position: -9px -24px;
+}
+.ext-webkit .x-btn-focus .x-btn-mc{
+ background-position: 0 -2168px;
+}
+.ext-webkit .x-btn-focus .x-btn-bl{
+ background-position: -6px -3px;
+}
+.ext-webkit .x-btn-focus .x-btn-br{
+ background-position: -9px -3px;
+}
+.ext-webkit .x-btn-focus .x-btn-bc{
+ background-position: 0 -18px;
+}
+.x-btn-click .x-btn-tl, .x-btn-menu-active .x-btn-tl, .x-btn-pressed .x-btn-tl{
+ background-position: -12px 0 !important;
+}
+.x-btn-click .x-btn-tr, .x-btn-menu-active .x-btn-tr, .x-btn-pressed .x-btn-tr{
+ background-position: -15px 0 !important;
+}
+.x-btn-click .x-btn-tc, .x-btn-menu-active .x-btn-tc, .x-btn-pressed .x-btn-tc{
+ background-position: 0 -12px !important;
+}
+.x-btn-click .x-btn-ml, .x-btn-menu-active .x-btn-ml, .x-btn-pressed .x-btn-ml{
+ background-position: -12px -24px !important;
+}
+.x-btn-click .x-btn-mr, .x-btn-menu-active .x-btn-mr, .x-btn-pressed .x-btn-mr{
+ background-position: -15px -24px !important;
+}
+.x-btn-click .x-btn-mc, .x-btn-menu-active .x-btn-mc, .x-btn-pressed .x-btn-mc{
+ background-position: 0 -3240px !important;
+}
+.x-btn-click .x-btn-bl, .x-btn-menu-active .x-btn-bl, .x-btn-pressed .x-btn-bl{
+ background-position: -12px -3px !important;
+}
+.x-btn-click .x-btn-br, .x-btn-menu-active .x-btn-br, .x-btn-pressed .x-btn-br{
+ background-position: -15px -3px !important;
+}
+.x-btn-click .x-btn-bc, .x-btn-menu-active .x-btn-bc, .x-btn-pressed .x-btn-bc{
+ background-position: 0 -21px !important;
+}
+.x-btn-disabled *{
+ cursor:default !important;
+}
+.x-btn-mc em.x-btn-arrow {
+ display:block;
+ background:transparent no-repeat right center;
+ padding-right:10px;
+}
+.x-btn-mc em.x-btn-split {
+ display:block;
+ background:transparent no-repeat right center;
+ padding-right:14px;
+}
+.x-btn-mc em.x-btn-arrow-bottom {
+ display:block;
+ background:transparent no-repeat center bottom;
+ padding-bottom:14px;
+}
+.x-btn-mc em.x-btn-split-bottom {
+ display:block;
+ background:transparent no-repeat center bottom;
+ padding-bottom:14px;
+}
+.x-btn-as-arrow .x-btn-mc em {
+ display:block;
+ background:transparent;
+ padding-bottom:14px;
+}
+.x-btn-group {
+ padding:1px;
+}
+.x-btn-group-header {
+ padding:2px;
+ text-align:center;
+}
+.x-btn-group-tc {
+ background: transparent repeat-x 0 0;
+ overflow:hidden;
+}
+.x-btn-group-tl {
+ background: transparent no-repeat 0 0;
+ padding-left:3px;
+ zoom:1;
+}
+.x-btn-group-tr {
+ background: transparent no-repeat right 0;
+ zoom:1;
+ padding-right:3px;
+}
+.x-btn-group-bc {
+ background: transparent repeat-x 0 bottom;
+ zoom:1;
+}
+.x-btn-group-bc .x-panel-footer {
+ zoom:1;
+}
+.x-btn-group-bl {
+ background: transparent no-repeat 0 bottom;
+ padding-left:3px;
+ zoom:1;
+}
+.x-btn-group-br {
+ background: transparent no-repeat right bottom;
+ padding-right:3px;
+ zoom:1;
+}
+.x-btn-group-mc {
+ border:0 none;
+ padding:1px 0 0 0;
+ margin:0;
+}
+.x-btn-group-mc .x-btn-group-body {
+ background:transparent;
+ border: 0 none;
+}
+.x-btn-group-ml {
+ background: transparent repeat-y 0 0;
+ padding-left:3px;
+ zoom:1;
+}
+.x-btn-group-mr {
+ background: transparent repeat-y right 0;
+ padding-right:3px;
+ zoom:1;
+}
+.x-btn-group-bc .x-btn-group-footer {
+ padding-bottom:6px;
+}
+.x-panel-nofooter .x-btn-group-bc {
+ height:3px;
+ font-size:0;
+ line-height:0;
+}
+.x-btn-group-bwrap {
+ overflow:hidden;
+ zoom:1;
+}
+.x-btn-group-body {
+ overflow:hidden;
+ zoom:1;
+}
+.x-btn-group-notitle .x-btn-group-tc {
+ background: transparent repeat-x 0 0;
+ overflow:hidden;
+ height:2px;
+}
+.x-toolbar{
+ border-style:solid;
+ border-width:0 0 1px 0;
+ display: block;
+ padding:2px;
+ background:repeat-x top left;
+ position:relative;
+ left:0;
+ top:0;
+ zoom:1;
+ overflow:hidden;
+}
+.x-toolbar .x-item-disabled .x-btn-icon {
+ opacity: .35;
+ -moz-opacity: .35;
+ filter: alpha(opacity=35);
+}
+.x-toolbar td {
+ vertical-align:middle;
+}
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
+ white-space: nowrap;
+}
+.x-toolbar .x-item-disabled {
+ cursor:default;
+ opacity:.6;
+ -moz-opacity:.6;
+ filter:alpha(opacity=60);
+}
+
+.x-toolbar .x-item-disabled *{
+ cursor:default;
+}
+
+.x-toolbar .x-toolbar-cell {
+ vertical-align:middle;
+}
+.x-toolbar .x-btn-tl, .x-toolbar .x-btn-tr, .x-toolbar .x-btn-tc, .x-toolbar .x-btn-ml, .x-toolbar .x-btn-mr,
+.x-toolbar .x-btn-mc, .x-toolbar .x-btn-bl, .x-toolbar .x-btn-br, .x-toolbar .x-btn-bc
+{
+ background-position: 500px 500px;
+}
+.x-toolbar .x-btn-over .x-btn-tl{
+ background-position: -6px 0;
+}
+.x-toolbar .x-btn-over .x-btn-tr{
+ background-position: -9px 0;
+}
+.x-toolbar .x-btn-over .x-btn-tc{
+ background-position: 0 -9px;
+}
+.x-toolbar .x-btn-over .x-btn-ml{
+ background-position: -6px -24px;
+}
+.x-toolbar .x-btn-over .x-btn-mr{
+ background-position: -9px -24px;
+}
+.x-toolbar .x-btn-over .x-btn-mc{
+ background-position: 0 -2168px;
+}
+.x-toolbar .x-btn-over .x-btn-bl{
+ background-position: -6px -3px;
+}
+.x-toolbar .x-btn-over .x-btn-br{
+ background-position: -9px -3px;
+}
+.x-toolbar .x-btn-over .x-btn-bc{
+ background-position: 0 -18px;
+}
+.x-toolbar .x-btn-click .x-btn-tl, .x-toolbar .x-btn-menu-active .x-btn-tl, .x-toolbar .x-btn-pressed .x-btn-tl{
+ background-position: -12px 0;
+}
+.x-toolbar .x-btn-click .x-btn-tr, .x-toolbar .x-btn-menu-active .x-btn-tr, .x-toolbar .x-btn-pressed .x-btn-tr{
+ background-position: -15px 0;
+}
+.x-toolbar .x-btn-click .x-btn-tc, .x-toolbar .x-btn-menu-active .x-btn-tc, .x-toolbar .x-btn-pressed .x-btn-tc{
+ background-position: 0 -12px;
+}
+.x-toolbar .x-btn-click .x-btn-ml, .x-toolbar .x-btn-menu-active .x-btn-ml, .x-toolbar .x-btn-pressed .x-btn-ml{
+ background-position: -12px -24px;
+}
+.x-toolbar .x-btn-click .x-btn-mr, .x-toolbar .x-btn-menu-active .x-btn-mr, .x-toolbar .x-btn-pressed .x-btn-mr{
+ background-position: -15px -24px;
+}
+.x-toolbar .x-btn-click .x-btn-mc, .x-toolbar .x-btn-menu-active .x-btn-mc, .x-toolbar .x-btn-pressed .x-btn-mc{
+ background-position: 0 -3240px;
+}
+.x-toolbar .x-btn-click .x-btn-bl, .x-toolbar .x-btn-menu-active .x-btn-bl, .x-toolbar .x-btn-pressed .x-btn-bl{
+ background-position: -12px -3px;
+}
+.x-toolbar .x-btn-click .x-btn-br, .x-toolbar .x-btn-menu-active .x-btn-br, .x-toolbar .x-btn-pressed .x-btn-br{
+ background-position: -15px -3px;
+}
+.x-toolbar .x-btn-click .x-btn-bc, .x-toolbar .x-btn-menu-active .x-btn-bc, .x-toolbar .x-btn-pressed .x-btn-bc{
+ background-position: 0 -21px;
+}
+.x-toolbar div.xtb-text{
+ padding:2px 2px 0;
+ line-height:16px;
+ display:block;
+}
+.x-toolbar .xtb-sep {
+ background-position: center;
+ background-repeat: no-repeat;
+ display: block;
+ font-size: 1px;
+ height: 16px;
+ width:4px;
+ overflow: hidden;
+ cursor:default;
+ margin: 0 2px 0;
+ border:0;
+}
+.x-toolbar .xtb-spacer {
+ width:2px;
+}
+.x-tbar-page-number{
+ width:24px;
+ height:14px;
+}
+.x-paging-info {
+ position:absolute;
+ top:5px;
+ right: 8px;
+}
+.x-toolbar-ct {
+ width:100%;
+}
+.x-panel-tbar, .x-panel-bbar, .x-window-tbar, .x-window-bbar, .x-tab-panel-tbar, .x-tab-panel-bbar, .x-plain-tbar, .x-plain-bbar {
+ overflow:hidden;
+ zoom:1;
+}
+.x-toolbar-more .x-btn-small .x-btn-text{
+ height: 16px;
+ width: 12px;
+}
+.x-toolbar-more em.x-btn-arrow {
+ display:inline;
+ background:transparent;
+ padding-right:0;
+}
+.x-toolbar-more .x-btn-mc em.x-btn-arrow {
+ background-image: none;
+}
+div.x-toolbar-no-items {
+ color:gray !important;
+ padding:5px 10px !important;
+}.x-resizable-handle {
+ position:absolute;
+ z-index:100;
+ font-size:1px;
+ line-height:6px;
+ overflow:hidden;
+ filter:alpha(opacity=0);
+ opacity:0;
+ zoom:1;
+}
+.x-resizable-handle-east{
+ width:6px;
+ cursor:e-resize;
+ right:0;
+ top:0;
+ height:100%;
+}
+.ext-ie .x-resizable-handle-east {
+ margin-right:-1px;
+}
+.x-resizable-handle-south{
+ width:100%;
+ cursor:s-resize;
+ left:0;
+ bottom:0;
+ height:6px;
+}
+.ext-ie .x-resizable-handle-south {
+ margin-bottom:-1px;
+}
+.x-resizable-handle-west{
+ width:6px;
+ cursor:w-resize;
+ left:0;
+ top:0;
+ height:100%;
+}
+.x-resizable-handle-north{
+ width:100%;
+ cursor:n-resize;
+ left:0;
+ top:0;
+ height:6px;
+}
+.x-resizable-handle-southeast{
+ width:6px;
+ cursor:se-resize;
+ right:0;
+ bottom:0;
+ height:6px;
+ z-index:101;
+}
+.x-resizable-handle-northwest{
+ width:6px;
+ cursor:nw-resize;
+ left:0;
+ top:0;
+ height:6px;
+ z-index:101;
+}
+.x-resizable-handle-northeast{
+ width:6px;
+ cursor:ne-resize;
+ right:0;
+ top:0;
+ height:6px;
+ z-index:101;
+}
+.x-resizable-handle-southwest{
+ width:6px;
+ cursor:sw-resize;
+ left:0;
+ bottom:0;
+ height:6px;
+ z-index:101;
+}
+.x-resizable-over .x-resizable-handle, .x-resizable-pinned .x-resizable-handle{
+ filter:alpha(opacity=100);
+ opacity:1;
+}
+.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east,
+.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west
+{
+ background-position: left;
+}
+.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south,
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north
+{
+ background-position: top;
+}
+.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
+ background-position: top left;
+}
+.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
+ background-position:bottom right;
+}
+.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
+ background-position: bottom left;
+}
+.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
+ background-position: top right;
+}
+.x-resizable-proxy{
+ border: 1px dashed;
+ position:absolute;
+ overflow:hidden;
+ display:none;
+ left:0;
+ top:0;
+ z-index:50000;
+}
+.x-resizable-overlay{
+ width:100%;
+ height:100%;
+ display:none;
+ position:absolute;
+ left:0;
+ top:0;
+ z-index:200000;
+ -moz-opacity: 0;
+ opacity:0;
+ filter: alpha(opacity=0);
+}
+.x-grid3 {
+ position: relative;
+ overflow: hidden;
+}
+
+.x-grid-panel {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.x-grid-panel .x-panel-body {
+ overflow: hidden !important;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+ border: 1px solid;
+}
+
+.x-grid3 .x-grid3-row-table, .x-grid3 .x-grid3-summary-table {
+ table-layout: fixed;
+}
+
+.x-grid3-viewport {
+ overflow: hidden;
+}
+
+.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-hd,.x-grid3-summary-row .x-grid3-hd {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.x-grid3-summary-row {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore;
+ outline: 0 none;
+}
+
+.x-grid3-row td.x-grid3-cell,.x-grid3-summary-row td.x-grid3-cell {
+ line-height: 14px;
+ vertical-align: top;
+ padding-left: 1px;
+ padding-right: 1px;
+ -moz-outline: none;
+ outline: 0 none;
+}
+
+.x-grid3-hd-row .x-grid3-hd {
+ line-height: 15px;
+ vertical-align: middle;
+ border-left: 1px solid;
+ border-right: 1px solid;
+}
+
+.x-grid3-hd-row .x-grid3-marker-hd {
+ padding: 3px;
+}
+
+.x-grid3-row .x-grid3-marker {
+ padding: 3px;
+}
+
+.x-grid3-cell-inner,.x-grid3-hd-inner {
+ overflow: hidden;
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ padding: 3px 3px 3px 5px;
+ white-space: nowrap;
+}
+
+.x-grid3-hd-inner {
+ position: relative;
+ cursor: inherit;
+ padding: 4px 3px 4px 5px;
+ vertical-align: middle;
+}
+
+.x-grid3-row-body {
+ white-space: normal;
+ font-size: 11px;
+}
+
+.x-grid3-body-cell {
+ -moz-outline: 0 none;
+ outline: 0 none;
+}
+
+.ext-ie .x-grid3-cell-inner,.ext-ie .x-grid3-hd-inner {
+ width: 100%;
+}
+
+.ext-strict .x-grid3-cell-inner,.ext-strict .x-grid3-hd-inner {
+ width: auto;
+}
+
+.x-grid-row-loading {
+ background: no-repeat center center;
+}
+
+.x-grid-page {
+ overflow: hidden;
+}
+
+.x-grid3-row {
+ cursor: default;
+ border: 1px solid;
+ width: 100%;
+}
+
+.x-grid3-row-over {
+ border: 1px solid;
+ background: repeat-x left top;
+}
+
+.x-grid3-resize-proxy {
+ width: 1px;
+ left: 0;
+ cursor: e-resize;
+ cursor: col-resize;
+ position: absolute;
+ top: 0;
+ height: 100px;
+ overflow: hidden;
+ visibility: hidden;
+ border: 0 none;
+ z-index: 7;
+}
+
+.x-grid3-resize-marker {
+ width: 1px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ height: 100px;
+ overflow: hidden;
+ visibility: hidden;
+ border: 0 none;
+ z-index: 7;
+}
+
+.x-grid3-focus {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 1px;
+ height: 1px;
+ line-height: 1px;
+ font-size: 1px;
+ -moz-outline: 0 none;
+ outline: 0 none;
+ -moz-user-select: text;
+ -khtml-user-select: text;
+ -webkit-user-select: ignore;
+}
+
+.x-grid3-header {
+ background: repeat-x 0 bottom;
+ cursor: default;
+ zoom: 1;
+ padding: 0px 0 0 0;
+}
+
+.x-grid3-header-pop {
+ border-left: 1px solid;
+ float: right;
+ clear: none;
+}
+
+.x-grid3-header-pop-inner {
+ border-left: 1px solid;
+ width: 14px;
+ height: 19px;
+ background: transparent no-repeat center center;
+}
+
+.ext-ie .x-grid3-header-pop-inner {
+ width: 15px;
+}
+
+.ext-strict .x-grid3-header-pop-inner {
+ width: 14px;
+}
+
+.x-grid3-header-inner {
+ overflow: hidden;
+ zoom: 1;
+ float: left;
+}
+
+.x-grid3-header-offset {
+ padding-left: 1px;
+}
+
+td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open {
+ border-left: 1px solid;
+ border-right: 1px solid;
+}
+
+td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner
+ {
+ background: repeat-x left bottom;
+}
+
+.x-grid3-sort-icon {
+ background-repeat: no-repeat;
+ display: none;
+ height: 4px;
+ width: 13px;
+ margin-left: 3px;
+ vertical-align: middle;
+}
+
+.sort-asc .x-grid3-sort-icon,.sort-desc .x-grid3-sort-icon {
+ display: inline;
+}
+
+.ext-strict .ext-ie .x-grid3-header-inner,.ext-strict .ext-ie6 .x-grid3-hd {
+ position: relative;
+}
+
+.ext-strict .ext-ie6 .x-grid3-hd-inner {
+ position: static;
+}
+
+.x-grid3-body {
+ zoom: 1;
+}
+
+.x-grid3-scroller {
+ overflow: auto;
+ zoom: 1;
+ position: relative;
+}
+
+.x-grid3-cell-text,.x-grid3-hd-text {
+ display: block;
+ padding: 3px 5px 3px 5px;
+}
+
+.x-grid3-split {
+ background-position: center;
+ background-repeat: no-repeat;
+ cursor: e-resize;
+ cursor: col-resize;
+ display: block;
+ font-size: 1px;
+ height: 16px;
+ overflow: hidden;
+ position: absolute;
+ top: 2px;
+ width: 6px;
+ z-index: 3;
+}
+
+.x-dd-drag-proxy .x-grid3-hd-inner {
+ background: repeat-x left bottom;
+ width: 120px;
+ padding: 3px;
+ border: 1px solid;
+ overflow: hidden;
+}
+
+.col-move-top,.col-move-bottom {
+ width: 9px;
+ height: 9px;
+ position: absolute;
+ top: 0;
+ line-height: 1px;
+ font-size: 1px;
+ overflow: hidden;
+ visibility: hidden;
+ z-index: 20000;
+ background: transparent no-repeat left top;
+}
+
+.x-grid3-row-selected {
+ border: 1px dotted;
+}
+
+.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
+ background: repeat-x 0 bottom !important;
+ vertical-align: middle !important;
+ padding: 0;
+ border-top: 1px solid;
+ border-bottom: none !important;
+ border-right: 1px solid !important;
+ text-align: center;
+}
+
+.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div {
+ padding: 0 4px;
+ text-align: center;
+}
+
+.x-grid3-dirty-cell {
+ background: transparent no-repeat 0 0;
+}
+
+.x-grid3-invalid-cell {
+ background: repeat-x bottom;
+}
+
+.x-grid3-topbar,.x-grid3-bottombar {
+ overflow: hidden;
+ display: none;
+ zoom: 1;
+ position: relative;
+}
+
+.x-grid3-topbar .x-toolbar {
+ border-right: 0 none;
+}
+
+.x-grid3-bottombar .x-toolbar {
+ border-right: 0 none;
+ border-bottom: 0 none;
+ border-top: 1px solid;
+}
+
+.x-props-grid .x-grid3-cell {
+ padding: 1px;
+}
+
+.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
+ background: transparent repeat-y -16px !important;
+ padding-left: 12px;
+}
+
+.x-props-grid .x-grid3-body .x-grid3-td-name {
+ padding: 1px;
+ padding-right: 0;
+ border: 0 none;
+ border-right: 1px solid;
+}
+
+.x-grid3-col-dd {
+ border: 0 none;
+ padding: 0;
+ background: transparent;
+}
+
+.x-dd-drag-ghost .x-grid3-dd-wrap {
+ padding: 1px 3px 3px 1px;
+}
+
+.x-grid3-hd {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore;
+}
+
+.x-grid3-hd-btn {
+ display: none;
+ position: absolute;
+ width: 14px;
+ background: no-repeat left center;
+ right: 0;
+ top: 0;
+ z-index: 2;
+ cursor: pointer;
+ outline: none;
+}
+
+.x-grid3-hd-over .x-grid3-hd-btn,.x-grid3-hd-menu-open .x-grid3-hd-btn {
+ display: block;
+}
+
+a.x-grid3-hd-btn:hover {
+ background-position: -14px center;
+}
+
+.x-grid3-body .x-grid3-td-expander {
+ background: transparent repeat-y right;
+}
+
+.x-grid3-body .x-grid3-td-expander .x-grid3-cell-inner {
+ padding: 0 !important;
+ height: 100%;
+}
+
+.x-grid3-row-expander {
+ width: 100%;
+ height: 18px;
+ background-position: 4px 2px;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
+
+.x-grid3-row-collapsed .x-grid3-row-expander {
+ background-position: 4px 2px;
+}
+
+.x-grid3-row-expanded .x-grid3-row-expander {
+ background-position: -21px 2px;
+}
+
+.x-grid3-row-collapsed .x-grid3-row-body {
+ display: none !important;
+}
+
+.x-grid3-row-expanded .x-grid3-row-body {
+ display: block !important;
+}
+
+.x-grid3-body .x-grid3-td-checker {
+ background: transparent repeat-y right;
+}
+
+.x-grid3-body .x-grid3-td-checker .x-grid3-cell-inner,.x-grid3-header .x-grid3-td-checker .x-grid3-hd-inner {
+ padding: 0 !important;
+ height: 100%;
+}
+
+.x-grid3-group-checker {
+ float: left;
+}
+
+.x-grid3-row-checker,.x-grid3-hd-checker {
+ width: 100%;
+ height: 18px;
+ background-position: 2px 2px;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
+
+.x-grid3-hd-checker {
+ padding-bottom: 0px !important;
+}
+
+.x-grid3-row .x-grid3-row-checker {
+ background-position: 2px 2px;
+}
+
+.x-grid3-row-selected .x-grid3-row-checker,.x-grid3-hd-checker-on .x-grid3-hd-checker,.x-grid3-row-checked .x-grid3-row-checker
+ {
+ background-position: -23px 2px;
+}
+
+.x-grid3-hd-checker {
+ background-position: 2px 3px;
+}
+
+.x-grid3-hd-checker-on .x-grid3-hd-checker {
+ background-position: -23px 3px;
+}
+
+.x-grid3-body .x-grid3-td-numberer {
+ background: transparent repeat-y right;
+}
+
+.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
+ padding: 3px 5px 0 0 !important;
+ text-align: right;
+}
+
+.x-grid3-body .x-grid3-td-row-icon {
+ background: transparent repeat-y right;
+ vertical-align: top;
+ text-align: center;
+}
+
+.x-grid3-body .x-grid3-td-row-icon .x-grid3-cell-inner {
+ padding: 0 !important;
+ background-position: center center;
+ background-repeat: no-repeat;
+ width: 16px;
+ height: 16px;
+ margin-left: 2px;
+ margin-top: 3px;
+}
+
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander
+ {
+ background: transparent repeat-y right;
+}
+
+.x-grid3-body .x-grid3-check-col-td .x-grid3-cell-inner {
+ padding: 1px 0 0 0 !important;
+}
+
+.x-grid3-check-col {
+ width: 100%;
+ height: 16px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
+
+.x-grid3-check-col-on {
+ width: 100%;
+ height: 16px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
+
+.x-grid-group,.x-grid-group-body,.x-grid-group-hd {
+ zoom: 1;
+}
+
+.x-grid-group-hd {
+ border-bottom: 2px solid;
+ cursor: pointer;
+ padding-top: 6px;
+}
+
+.x-grid-group-hd .x-grid-group-div {
+ background: transparent no-repeat 3px -47px;
+ padding: 4px 4px 4px 17px;
+}
+
+.x-grid-group-collapsed .x-grid-group-hd .x-grid-group-div {
+ background-position: 3px 3px;
+}
+
+.x-grid-group-collapsed .x-grid-group-body {
+ display: none;
+}
+
+.x-grid-empty {
+ padding: 10px;
+}
+
+.ext-ie7 .x-grid-panel .x-panel-bbar {
+ position: relative;
+}
+
+.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
+ padding-right: 0;
+ border-right: 1px solid;
+}
+
+.ext-ie6 .x-grid3-header {
+ position: relative;
+}
+
+.x-grid3-check-col-disabled {
+ width: 100%;
+ height: 16px;
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.x-row-editor-header {
+ height: 2px;
+ overflow: hidden;
+}
+
+.x-row-editor-footer {
+ height: 2px;
+ overflow: hidden;
+}
+
+.ext-ie .x-row-editor-footer {
+ margin-top: -1px;
+}
+
+.x-row-editor-body {
+ overflow: hidden;
+ zoom: 1;
+ padding-top: 2px;
+}
+
+.x-row-editor .x-btns {
+ position: absolute;
+ top: 28px;
+ left: 20px;
+ padding-left: 5px;
+}
+
+.x-row-editor .x-btns .x-plain-bwrap {
+ padding-right: 5px;
+}
+
+.x-row-editor .x-btns .x-plain-body {
+ height: 31px;
+}
+
+.x-row-editor .x-btns .x-table-layout-cell {
+ padding: 3px;
+}
+
+.x-grid3-footer {
+ background: #f7f7f7 none repeat scroll 0 0;
+ border-top: 1px solid #DDDDDD;
+ border-bottom: 1px solid #DDDDDD;
+ display: block;
+ overflow: hidden;
+ position: relative;
+}
+
+.x-grid3-footer-row {
+ border: 1px solid #EEEEEE;
+ background-color: #f7f7f7;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore;
+ cursor: default;
+}
+
+.x-grid3-footer-row td {
+ line-height: 13px;
+ vertical-align: top;
+ padding-left: 1px;
+ padding-right: 1px;
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+}
+
+.ext-ie6 .x-grid3 .x-editor .x-form-text,.ext-ie7 .x-grid3 .x-editor .x-form-text {
+ top: -1px;
+}
+
+.ext-ie8-compatibility .x-grid3 .x-editor .x-form-text {
+ top: 0;
+}
+
+.x-grid-panel .x-livegrid-scroller {
+ z-index: 1;
+ position: absolute;
+ right: 0px;
+ width: 18px;
+ overflow-y: scroll;
+ overflow-x: hidden;
+}
+
+.x-grid3-group-checker div {
+ width: 14px;
+ height: 18px;
+ background-position: -1 -2px;
+ background-repeat: no-repeat;
+ background-color: transparent;
+}
+
+.x-grid-group-hd .x-grid3-group-check {
+ background-image: url(../images/default/menu/checked.gif);
+}
+
+.x-grid-group-hd .x-grid3-group-uncheck {
+ background-image: url(../images/default/menu/unchecked.gif);
+}
+
+.x-grid3-hd-row .x-filtered-column {
+ font-style: italic !important;
+ font-weight: bold !important;
+}
+
+.ext-strict .ext-gecko .x-inline-editor .x-small-editor .x-form-text {
+ height: 18px !important;
+}
+.x-dd-drag-proxy{
+ position:absolute;
+ left:0;
+ top:0;
+ visibility:hidden;
+ z-index:15000;
+}
+.x-dd-drag-ghost{
+ -moz-opacity: 0.85;
+ opacity:.85;
+ filter: alpha(opacity=85);
+ border: 1px solid;
+ padding:3px;
+ padding-left:20px;
+ white-space:nowrap;
+}
+.x-dd-drag-repair .x-dd-drag-ghost{
+ -moz-opacity: 0.4;
+ opacity:.4;
+ filter: alpha(opacity=40);
+ border:0 none;
+ padding:0;
+ background-color:transparent;
+}
+.x-dd-drag-repair .x-dd-drop-icon{
+ visibility:hidden;
+}
+.x-dd-drop-icon{
+ position:absolute;
+ top:3px;
+ left:3px;
+ display:block;
+ width:16px;
+ height:16px;
+ background-color:transparent;
+ background-position: center;
+ background-repeat: no-repeat;
+ z-index:1;
+}
+.x-view-selector {
+ position:absolute;
+ left:0;
+ top:0;
+ width:0;
+ border:1px dotted;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter:alpha(opacity=50);
+ zoom:1;
+}
+
+.x-dd-cursor {
+ cursor: default !important;
+}
+
+.x-insert-bar {
+ position: absolute;
+
+ z-index: 99999;
+}
+
+.x-insert-bar td {
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.x-insert-left {
+ background: url(../images/gxt/dd/insert-bg.gif) no-repeat;
+}
+
+.x-insert-mid {
+ background: url(../images/gxt/dd/insert-bg.gif) repeat-x 0 -12px;
+}
+
+.x-insert-right {
+ background: url(../images/gxt/dd/insert-bg.gif) no-repeat 0px -6px;
+}
+.tree-folder {
+ background: url(../images/gxt/icons/folder-closed.gif) no-repeat center
+ left !important;
+}
+
+.tree-folder-open {
+ background: url(../images/gxt/icons/folder.gif) no-repeat center left
+ !important;
+}
+
+.my-tree {
+ cursor: default;
+ font-size: 11px;
+ -moz-outline: none;
+ -moz-user-focus: none;
+}
+
+.my-root-item {
+ padding: 4px;
+}
+
+.my-tree-item,.my-tree-item table,.my-tree-item table td {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+ font-size: 11px;
+}
+
+.my-tree-item td {
+ height: 19px;
+}
+
+.my-tree-indent {
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.my-tree-joint div {
+ width: 15px;
+ height: 19px;
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.my-tree-left,.my-tree-left div,.my-tree-right {
+ line-height: 1px;
+ font-size: 1px;
+ width: 3px;
+}
+
+.my-tree-left div,.my-tree-right div {
+ width: 3px;
+}
+
+.my-tree-item,.my-treeitem-wrap {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tree-check div {
+ width: 17px;
+ height: 17px;
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.my-tree-icon div {
+ width: 16px;
+ height: 17px;
+ cursor: pointer;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
+.my-tree-item-text span {
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 12px;
+ white-space: nowrap;
+ padding-left: 3px;
+ padding-right: 3px;
+ display: block;
+ height: 15px;
+ cursor: pointer;
+}
+
+.my-tree-over .my-tree-left {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+ -57px;
+}
+
+.my-tree-over .my-tree-right {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+ -76px;
+}
+
+.my-tree-over .my-tree-check,.my-tree-over .my-tree-icon,.my-tree-over .my-tree-item-text
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -95px;
+}
+
+.my-tree-sel .my-tree-left {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+ 0px;
+}
+
+.my-tree-sel .my-tree-right {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+ -19px;
+}
+
+.my-tree-sel .my-tree-check,.my-tree-sel .my-tree-icon,.my-tree-sel .my-tree-item-text
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -38px;
+}
+
+.my-tree-drop .my-tree-left {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+ -115px;
+}
+
+.my-tree-drop .my-tree-right {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+ -133px;
+}
+
+.my-tree-drop .my-tree-check,.my-tree-drop .my-tree-icon,.my-tree-drop .my-tree-item-text
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -152px;
+}
+
+.my-tree-close {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+ 1px;
+}
+
+.my-tree-open {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+ -32px;
+}
+
+.my-tree-joint-over .my-tree-open {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+ -48px;
+}
+
+.my-tree-joint-over .my-tree-close {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+ -15px;
+}
+
+.my-tree-notchecked {
+ background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 50%;
+}
+
+.my-tree-checked {
+ background: url(../images/gxt/tree/checked.gif) no-repeat 0px 50%;
+}
+
+.my-tree-loading .tree-folder {
+ background: url(../images/gxt/icons/wait.gif) no-repeat 0px -1px
+ !important;
+}
+
+.my-tree-loading .my-tree-item-text span {
+ font-style: italic;
+}
+
+.x-ftree-selected .x-ftree-text {
+ background-color: #d9e8fb;
+}
+
+.x-ftree-node-over .x-ftree-text {
+ background-color: #eee;
+}
+
+.x-ftree-item {
+ line-height: 18px;
+}
+
+.x-ftree-joint,.x-ftree-icon {
+ border: 0 none;
+ height: 18px;
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+ width: 16px;
+ background-position: center;
+ background-repeat: no-repeat;
+}
+
+.x-ftree-text {
+ color: black;
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+ white-space: nowrap;
+ text-decoration: none;
+ color: black;
+ padding-left: 4px;
+ vertical-align: middle;
+ line-height: 18px;
+ padding: 2px 4px 4px 4px;
+}
+
+/* some default icons for leaf/folder */
+.x-ftree-expanded .x-ftree-icon {
+ background-image: url(../images/default/tree/folder-open.gif);
+}
+
+.x-ftree-leaf .x-ftree-icon {
+ background-image: url(../images/default/tree/leaf.gif);
+}
+
+.x-ftree-collapsed .x-ftree-icon {
+ background-image: url(../images/gxt/icons/folder-closed.gif);
+}
+
+/* Arrows */
+.x-ftree-arrows .x-ftree-joint {
+ background: transparent;
+}
+
+.x-ftree-arrows .x-ftree-joint-plus {
+ background: transparent url(../images/default/tree/arrows.gif) no-repeat
+ 0 0;
+}
+
+.x-ftree-arrows .x-ftree-joint-minus {
+ background: transparent url(../images/default/tree/arrows.gif) no-repeat
+ -16px 0;
+}
+
+.x-ftree-arrows .x-ftree-ec-over .x-ftree-joint-plus {
+ background-position: -32px 0;
+}
+
+.x-ftree-arrows .x-ftree-ec-over .x-ftree-joint-minus {
+ background-position: -48px 0;
+}
+
+.x-ftree2-highlightrow {
+ border: 1px dotted #545352;
+}
+
+.x-ftree2-selected {
+ background-color: #d9e8fb !important;
+}
+
+.x-ftree2-node-over {
+ background-color: #eee;
+}
+
+.x-ftree2-node-drop {
+ background-color: #defadc;
+}
+
+.x-ftree2-joint,.x-ftree2-icon {
+ border: 0 none;
+ height: 18px;
+ margin: 0;
+ padding: 0;
+ vertical-align: top;
+ width: 16px;
+ background-position: center;
+ background-repeat: no-repeat;
+}
+
+.x-ftree2-joint div {
+ width: 16px;
+}
+
+.x-ftree2-el-ct {
+ display: none;
+}
+
+.x-ftree2-node {
+ padding-bottom: 1px;
+}
+
+.x-ftree2-text {
+ vertical-align: middle !important;
+ white-space: nowrap !important;
+}
+
+.x-ftree2-text span {
+ color: black;
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+ white-space: nowrap;
+ text-decoration: none;
+ color: black;
+ padding: 2px 4px 2px 1px;
+ display: block;
+}
+
+.ext-ie .x-ftree2-text span {
+ padding-left: 3px;
+}
+
+.x-ftree2-check {
+ width: 17px;
+}
+
+.x-ftree2-check div {
+ width: 17px;
+ height: 17px;
+}
+
+/* some default icons for leaf/folder */
+.x-ftree2-expanded .x-ftree2-icon {
+ background-image: url(../images/default/tree/folder-open.gif);
+}
+
+.x-ftree2-leaf .x-ftree2-icon {
+ background-image: url(../images/default/tree/leaf.gif);
+}
+
+.x-ftree2-collapsed .x-ftree2-icon {
+ background-image: url(../images/gxt/icons/folder-closed.gif);
+}
+
+/* Arrows */
+.x-ftree2-arrows .x-ftree2-joint {
+ background: transparent;
+}
+
+.x-ftree2-arrows .x-ftree2-joint-plus {
+ background: transparent url(../images/default/tree/arrows.gif) no-repeat
+ 0 0;
+}
+
+.x-ftree2-arrows .x-ftree2-joint-minus {
+ background: transparent url(../images/default/tree/arrows.gif) no-repeat
+ -16px 0;
+}
+
+.x-ftree2-arrows .x-ftree2-ec-over .x-ftree2-joint-plus {
+ background-position: -32px 0;
+}
+
+.x-ftree2-arrows .x-ftree2-ec-over .x-ftree2-joint-minus {
+ background-position: -48px 0;
+}
+
+.x-treegrid {
+ -moz-outline: none;
+ -moz-user-focus: none;
+ outline: 0 none;
+}
+
+.x-treegrid .x-treegrid-column .x-grid3-cell-inner {
+ padding: 0px !important;
+}
+
+.x-tree3 {
+ cursor: default;
+ -moz-outline: none;
+ -moz-user-focus: none;
+ outline: 0 none;
+}
+
+.ext-strict .ext-gecko .x-tree3, .ext-strict .ext-webkit .x-tree3 {
+ padding-bottom: 1px;
+}
+
+.x-tree3-node {
+ cursor: default;
+}
+
+.x-tree3-el {
+ white-space: nowrap;
+ height: 21px;
+ position: relative;
+}
+
+.x-tree3-node-text {
+ white-space: nowrap;
+ line-height: 11px;
+ text-decoration: none;
+ padding: 0 0 0 3px;
+ position: relative;
+ top: -4px;
+}
+
+.x-tree3-node-ct {
+ display: none;
+}
+
+.x-tree3-node-text-widget {
+ position: static !important;
+ padding: 0px !important;
+}.x-date-picker {
+ border: 1px solid;
+ border-top:0 none;
+ position:relative;
+ -moz-outline:0 none;
+ outline:0 none;
+}
+.x-date-picker a {
+ -moz-outline:0 none;
+ outline:0 none;
+}
+.x-date-inner, .x-date-inner td, .x-date-inner th{
+ border-collapse:separate;
+}
+.x-date-middle,.x-date-left,.x-date-right {
+ background: repeat-x 0 -83px;
+ overflow:hidden;
+}
+.x-date-middle .x-btn-tc,.x-date-middle .x-btn-tl,.x-date-middle .x-btn-tr,
+.x-date-middle .x-btn-mc,.x-date-middle .x-btn-ml,.x-date-middle .x-btn-mr,
+.x-date-middle .x-btn-bc,.x-date-middle .x-btn-bl,.x-date-middle .x-btn-br{
+ background:transparent !important;
+ vertical-align:middle;
+}
+.x-date-middle .x-btn-mc em.x-btn-arrow {
+ background:transparent no-repeat right 0;
+}
+.x-date-right, .x-date-left {
+ width:18px;
+}
+.x-date-right{
+ text-align:right;
+}
+.x-date-middle {
+ padding-top:2px;
+ padding-bottom:2px;
+ width:130px;
+}
+.x-date-right a, .x-date-left a{
+ display:block;
+ width:16px;
+ height:16px;
+ background-position: center;
+ background-repeat: no-repeat;
+ cursor:pointer;
+ -moz-opacity: 0.6;
+ opacity:.6;
+ filter: alpha(opacity=60);
+}
+.x-date-right a:hover, .x-date-left a:hover{
+ -moz-opacity: 1;
+ opacity:1;
+ filter: alpha(opacity=100);
+}
+.x-date-right a {
+ margin-right:2px;
+ text-decoration:none !important;
+}
+.x-date-left a{
+ margin-left:2px;
+ text-decoration:none !important;
+}
+table.x-date-inner {
+ width:100%;
+ table-layout:fixed;
+}
+.x-date-inner th {
+ width:25px;
+}
+.x-date-inner th {
+ background: repeat-x left top;
+ text-align:right !important;
+ border-bottom: 1px solid;
+ cursor:default;
+ padding:0;
+ border-collapse:separate;
+}
+.x-date-inner th span {
+ display:block;
+ padding:2px;
+ padding-right:7px;
+}
+.x-date-inner td {
+ border: 1px solid;
+ text-align:right;
+ padding:0;
+}
+.x-date-inner a {
+ padding:2px 5px;
+ display:block;
+ text-decoration:none;
+ text-align:right;
+ zoom:1;
+}
+.x-date-inner .x-date-active{
+ cursor:pointer;
+ color:black;
+}
+.x-date-inner .x-date-selected a{
+ background: repeat-x left top;
+ border:1px solid;
+ padding:1px 4px;
+}
+.x-date-inner .x-date-today a{
+ border: 1px solid;
+ padding:1px 4px;
+}
+.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
+ text-decoration:none !important;
+}
+.x-date-bottom {
+ padding:4px;
+ border-top: 1px solid;
+ background: repeat-x left top;
+}
+.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
+ text-decoration:none !important;
+}
+.x-date-inner .x-date-disabled a {
+ cursor:default;
+}
+.x-date-mmenu .x-menu-item {
+ padding:1px 24px 1px 4px;
+ white-space: nowrap;
+}
+.x-date-mmenu .x-menu-item .x-menu-item-icon {
+ width:10px;
+ height:10px;
+ margin-right:5px;
+ background-position:center -4px !important;
+}
+.x-date-mp {
+ position:absolute;
+ left:0;
+ top:0;
+ display:none;
+}
+.x-date-mp td {
+ padding:2px;
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+td.x-date-mp-month,td.x-date-mp-year,td.x-date-mp-ybtn {
+ border: 0 none;
+ text-align:center;
+ vertical-align: middle;
+ width:25%;
+}
+.x-date-mp-ok {
+ margin-right:3px;
+}
+.x-date-mp-btns button {
+ text-decoration:none;
+ text-align:center;
+ text-decoration:none !important;
+ border:1px solid;
+ padding:1px 3px 1px;
+ cursor:pointer;
+}
+.x-date-mp-btns {
+ background: repeat-x left top;
+}
+.x-date-mp-btns td {
+ border-top: 1px solid;
+ text-align:center;
+}
+td.x-date-mp-month a,td.x-date-mp-year a {
+ display:block;
+ padding:2px 4px;
+ text-decoration:none;
+ text-align:center;
+}
+td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
+ text-decoration:none;
+ cursor:pointer;
+}
+td.x-date-mp-sel a {
+ padding:1px 3px;
+ background: repeat-x left top;
+ border:1px solid;
+}
+.x-date-mp-ybtn a {
+ overflow:hidden;
+ width:15px;
+ height:15px;
+ cursor:pointer;
+ background:transparent no-repeat;
+ display:block;
+ margin:0 auto;
+}
+.x-date-mp-ybtn a.x-date-mp-next {
+ background-position:0 -120px;
+}
+.x-date-mp-ybtn a.x-date-mp-next:hover {
+ background-position:-15px -120px;
+}
+.x-date-mp-ybtn a.x-date-mp-prev {
+ background-position:0 -105px;
+}
+.x-date-mp-ybtn a.x-date-mp-prev:hover {
+ background-position:-15px -105px;
+}
+.x-date-mp-ybtn {
+ text-align:center;
+}
+td.x-date-mp-sep {
+ border-right:1px solid;
+}
+
+.x-date-picker, .x-date-picker a {
+ font-size: 11px;
+}
+
+.x-date-right-icon {
+ background-image: url(../images/default/shared/right-btn.gif);
+ margin-right: 2px;
+ text-decoration: none !important;
+}
+
+.x-date-left-icon {
+ background-image: url(../images/default/shared/left-btn.gif);
+ margin-left: 4px;
+ text-decoration: none !important;
+}
+
+.x-date-days {
+ table-layout: fixed;
+ width: 100%;
+}
+
+.x-date-days td {
+ width: 25px;
+ border: none;
+}
+
+.x-date-days td span {
+ display: block;
+ padding: 2px 7px 2px 2px;
+}
+
+.x-date-days td {
+ background: #DFECFB url(../images/default/shared/glass-bg.gif) repeat-x scroll left top;
+ border-bottom: 1px solid #A3BAD9;
+ border-collapse: separate;
+ color: #233D6D;
+ cursor: default;
+ font-family: arial, helvetica, tahoma, sans-serif;
+ font-size: 10px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: normal;
+ padding: 0pt;
+ text-align: right !important;
+}
+
+.x-date-picker .x-date-header {
+ background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
+ height: 22px;
+ left: 10px;
+ top: 10px;
+ width: 157px;
+}
+
+.x-date-header .x-btn .x-btn-text {
+ color: #fff;
+}
+
+.x-date-picker-footer {
+ width: 100%;
+}
+
+.x-date-picker-footer td {
+ text-align: center;
+}
+
+.x-date-left {
+ background: transparent url(../images/default/shared/hd-sprite.gif) repeat-x scroll 0pt -83px;
+ color: #FFFFFF;
+ font-family: "sans serif", tahoma, verdana, helvetica;
+ font-size: 11px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: bold;
+ line-height: normal;
+ overflow: hidden;
+}
+
+.x-date-inner .x-date-active-hover {
+ background: #ddecfe !important;
+}.x-tip{
+ position: absolute;
+ top: 0;
+ left:0;
+ visibility: hidden;
+ z-index: 20000;
+ border:0 none;
+}
+.x-tip .x-tip-close{
+ height: 15px;
+ float:right;
+ width: 15px;
+ margin:0 0 2px 2px;
+ cursor:pointer;
+ display:none;
+}
+.x-tip .x-tip-tc {
+ background: transparent no-repeat 0 -62px;
+ padding-top:3px;
+ overflow:hidden;
+ zoom:1;
+}
+.x-tip .x-tip-tl {
+ background: transparent no-repeat 0 0;
+ padding-left:6px;
+ overflow:hidden;
+ zoom:1;
+}
+.x-tip .x-tip-tr {
+ background: transparent no-repeat right 0;
+ padding-right:6px;
+ overflow:hidden;
+ zoom:1;
+}
+.x-tip .x-tip-bc {
+ background: transparent no-repeat 0 -121px;
+ height:3px;
+ overflow:hidden;
+}
+.x-tip .x-tip-bl {
+ background: transparent no-repeat 0 -59px;
+ padding-left:6px;
+ zoom:1;
+}
+.x-tip .x-tip-br {
+ background: transparent no-repeat right -59px;
+ padding-right:6px;
+ zoom:1;
+}
+.x-tip .x-tip-mc {
+ border:0 none;
+}
+.x-tip .x-tip-ml {
+ background: no-repeat 0 -124px;
+ padding-left:6px;
+ zoom:1;
+}
+.x-tip .x-tip-mr {
+ background: transparent no-repeat right -124px;
+ padding-right:6px;
+ zoom:1;
+}
+.ext-ie .x-tip .x-tip-header,.ext-ie .x-tip .x-tip-tc {
+ font-size:0;
+ line-height:0;
+}
+.ext-border-box .x-tip .x-tip-header,.ext-border-box .ext-ie .x-tip .x-tip-tc {
+ line-height:1px;
+}
+.x-tip .x-tip-header-text {
+ padding:0;
+ margin:0 0 2px 0;
+}
+.x-tip .x-tip-body {
+ margin:0 !important;
+ line-height:14px;
+ padding:0;
+}
+.x-tip .x-tip-body .loading-indicator {
+ margin:0;
+}
+.x-tip-draggable .x-tip-header,.x-tip-draggable .x-tip-header-text {
+ cursor:move;
+}
+.x-form-invalid-tip .x-tip-tc {
+ background: repeat-x 0 -12px;
+ padding-top:6px;
+}
+.x-form-invalid-tip .x-tip-bc {
+ background: repeat-x 0 -18px;
+ height:6px;
+}
+.x-form-invalid-tip .x-tip-bl {
+ background: no-repeat 0 -6px;
+}
+.x-form-invalid-tip .x-tip-br {
+ background: no-repeat right -6px;
+}
+.x-form-invalid-tip .x-tip-body {
+ padding:2px;
+}
+.x-form-invalid-tip .x-tip-body {
+ padding-left:24px;
+ background:transparent no-repeat 2px 2px;
+}
+.x-tip-anchor {
+ position: absolute;
+ width: 9px;
+ height: 10px;
+ overflow:hidden;
+ background: transparent no-repeat 0 0;
+ zoom:1;
+}
+.x-tip-anchor-bottom {
+ background-position: -9px 0;
+}
+.x-tip-anchor-right {
+ background-position: -18px 0;
+ width: 10px;
+}
+.x-tip-anchor-left {
+ background-position: -28px 0;
+ width: 10px;
+}
+.x-menu {
+ border: 1px solid;
+ z-index: 15000;
+ zoom: 1;
+ background: repeat-y;
+ -moz-outline: none;
+ outline: 0 none;
+}
+
+.x-menu a {
+ text-decoration: none !important;
+}
+
+.ext-ie .x-menu {
+ zoom: 1;
+ overflow: hidden;
+}
+
+.x-menu-list {
+ padding: 2px;
+ background: transparent;
+ border: 0 none;
+ overflow: hidden;
+ overflow-y: hidden;
+}
+
+.ext-strict .ext-ie .x-menu-list {
+ position: relative;
+}
+
+.x-menu x-menu-sep-li {
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.x-menu-list-item {
+ white-space: nowrap;
+ display: block;
+ padding: 1px;
+}
+
+.x-menu-item {
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore
+}
+
+.x-menu-item-arrow {
+ background: transparent no-repeat right;
+}
+
+.x-menu-sep {
+ display: block;
+ font-size: 1px;
+ line-height: 1px;
+ margin: 2px 3px;
+ border-bottom: 1px solid;
+ overflow: hidden;
+}
+
+.x-menu-focus {
+ position: absolute;
+ left: -1px;
+ top: -1px;
+ width: 1px;
+ height: 1px;
+ line-height: 1px;
+ font-size: 1px;
+ -moz-outline: 0 none;
+ outline: 0 none;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore
+ overflow: hidden;
+ display: block;
+}
+
+a.x-menu-item {
+ cursor: pointer;
+ display: block;
+ line-height: 16px;
+ outline-color: -moz-use-text-color;
+ outline-style: none;
+ outline-width: 0;
+ padding: 3px 21px 3px 27px;
+ position: relative;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+.x-menu-item-active {
+ border-style: solid;
+ border-width: 1px;
+ padding: 0;
+}
+
+.x-menu-item-icon {
+ border: 0 none;
+ height: 16px;
+ padding: 0;
+ vertical-align: top;
+ width: 16px;
+ position: absolute;
+ left: 3px;
+ top: 3px;
+ margin: 0;
+ background-position: center;
+}
+
+.ext-ie .x-menu-item-icon {
+ left: -24px;
+}
+
+.ext-strict .x-menu-item-icon {
+ left: 3px;
+}
+
+.ext-ie6 .x-menu-item-icon {
+ left: -24px;
+}
+
+.ext-ie .x-menu-item-icon {
+ vertical-align: middle;
+}
+
+.x-date-menu .x-menu-list {
+ padding: 0;
+}
+
+.x-menu-date-item {
+ padding: 0;
+}
+
+.x-menu .x-color-palette,.x-menu .x-date-picker {
+ margin-left: 26px;
+ margin-right: 4px;
+}
+
+.x-menu .x-date-picker {
+ border: 1px solid;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+.x-menu-plain .x-color-palette,.x-menu-plain .x-date-picker {
+ margin: 0;
+ border: 0 none;
+}
+
+.x-date-menu {
+ padding: 0 !important;
+}
+
+.x-cycle-menu .x-menu-item-checked {
+ border: 1px dotted !important;
+ padding: 0;
+}
+
+.x-menu .x-menu-scroller {
+ width: 100%;
+ background-repeat: no-repeat;
+ background-position: center;
+ height: 8px;
+ line-height: 8px;
+ cursor: pointer;
+ margin: 0;
+ padding: 0;
+}
+
+.x-menu .x-menu-scroller-active {
+ height: 6px;
+ line-height: 6px;
+}
+
+.x-menu-list-item-indent {
+ padding-left: 27px !important;
+}
+
+.x-menu-text {
+
+ border-style: solid;
+ background: #D6E3F2;
+ border-color:#DAE6F4 #99bbe8 #99bbe8 #DAE6F4;
+ border-width: 1px;
+ margin:-2px -2px 0;
+ color:#15428b;
+ font:bold 10px tahoma,arial,verdana,sans-serif;
+ display:block;
+ padding:3px;
+}
+
+.x-menubar {
+ padding: 3px;
+ border-style: solid;
+ border-width: 0 0 1px 0;
+ cursor: default;
+ border-color: #a9bfd3;
+ background-color: #d0def0;
+ padding: 3px;
+ background-image: url(../images/default/toolbar/bg.gif);
+}
+
+.x-menubar-item {
+ padding: 1px 8px;
+ font: 12px arial, verdana, sans-serif;
+}
+
+.x-menubar-item-over {
+ background-color: #98c5f5;
+}
+
+.x-menubar-item-active {
+ background-color: #98c5f5;
+}.x-box-tl {
+ background: transparent no-repeat 0 0;
+ zoom:1;
+}
+.x-box-tc {
+ height: 8px;
+ background: transparent repeat-x 0 0;
+ overflow: hidden;
+}
+.x-box-tr {
+ background: transparent no-repeat right -8px;
+}
+.x-box-ml {
+ background: transparent repeat-y 0;
+ padding-left: 4px;
+ overflow: hidden;
+ zoom:1;
+}
+.x-box-mc {
+ background: repeat-x 0 -16px;
+ padding: 4px 10px;
+}
+.x-box-mc h3 {
+ margin: 0 0 4px 0;
+ zoom:1;
+}
+.x-box-mr {
+ background: transparent repeat-y right;
+ padding-right: 4px;
+ overflow: hidden;
+}
+.x-box-bl {
+ background: transparent no-repeat 0 -16px;
+ zoom:1;
+}
+.x-box-bc {
+ background: transparent repeat-x 0 -8px;
+ height: 8px;
+ overflow: hidden;
+}
+.x-box-br {
+ background: transparent no-repeat right -24px;
+}
+.x-box-tl, .x-box-bl {
+ padding-left: 8px;
+ overflow: hidden;
+}
+.x-box-tr, .x-box-br {
+ padding-right: 8px;
+ overflow: hidden;
+}
+.x-combo-list {
+ border:1px solid;
+ zoom:1;
+ overflow:hidden;
+ position: absolute;
+}
+.x-combo-list-inner {
+ overflow:auto;
+ position:relative;
+ zoom:1;
+ overflow-x:hidden;
+}
+.x-combo-list-hd {
+ border-bottom:1px solid;
+ padding:3px;
+}
+.x-resizable-pinned .x-combo-list-inner {
+ border-bottom:1px solid;
+}
+.x-combo-list-item {
+ padding:2px;
+ border:1px solid;
+ white-space: nowrap;
+ overflow:hidden;
+ text-overflow: ellipsis;
+}
+.x-combo-list .x-combo-selected{
+ border:1px dotted !important;
+ cursor:pointer;
+}
+.x-combo-list .x-toolbar {
+ border-top:1px solid;
+ border-bottom:0 none;
+}
+.x-panel {
+ border-style: solid;
+ border-width:0;
+ outline: 0 none;
+}
+.x-panel-header {
+ overflow:hidden;
+ zoom:1;
+ padding:5px 3px 4px 5px;
+ border:1px solid;
+ line-height: 15px;
+ background: transparent repeat-x 0 -1px;
+}
+.x-panel-body {
+ border:1px solid;
+ border-top:0 none;
+ overflow:hidden;
+ position: relative;
+}
+.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar {
+ border:1px solid;
+ border-top:0 none;
+ overflow:hidden;
+ padding:2px;
+}
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+ border-top:1px solid;
+ border-bottom: 0 none;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+ border-top:1px solid;
+}
+.x-panel-header {
+ overflow:hidden;
+ zoom:1;
+}
+.x-panel-tl .x-panel-header {
+ padding:5px 0 4px 0;
+ border:0 none;
+ background:transparent;
+ line-height: 15px;
+}
+.x-panel-tl .x-panel-icon, .x-window-tl .x-panel-icon {
+ padding-left:20px !important;
+ background-repeat:no-repeat;
+ background-position:0 4px;
+ zoom:1;
+}
+.x-panel-inline-icon {
+ width:16px;
+ height:16px;
+ background-repeat:no-repeat;
+ background-position:0 0;
+ vertical-align:middle;
+ margin-right:4px;
+ margin-top:-1px;
+ margin-bottom:-1px;
+}
+.x-panel-tc {
+ background: transparent repeat-x 0 0;
+ overflow:hidden;
+}
+.ext-strict .ext-ie7 .x-panel-tc {
+ overflow: visible;
+}
+.x-panel-tl {
+ background: transparent no-repeat 0 0;
+ padding-left:6px;
+ zoom:1;
+ border-bottom:1px solid;
+}
+.x-panel-tr {
+ background: transparent no-repeat right 0;
+ zoom:1;
+ padding-right:6px;
+}
+.x-panel-bc {
+ background: transparent repeat-x 0 bottom;
+ zoom:1;
+}
+.x-panel-bc .x-panel-footer {
+ zoom:1;
+}
+.x-panel-bl {
+ background: transparent no-repeat 0 bottom;
+ padding-left:6px;
+ zoom:1;
+}
+.x-panel-br {
+ background: transparent no-repeat right bottom;
+ padding-right:6px;
+ zoom:1;
+}
+.x-panel-mc {
+ border:0 none;
+ padding:0;
+ margin:0;
+ padding-top:6px;
+}
+.x-panel-mc .x-panel-body {
+ background:transparent;
+ border: 0 none;
+}
+.x-panel-ml {
+ background: repeat-y 0 0;
+ padding-left:6px;
+ zoom:1;
+}
+.x-panel-mr {
+ background: transparent repeat-y right 0;
+ padding-right:6px;
+ zoom:1;
+}
+.x-panel-bc .x-panel-footer {
+ padding-bottom:6px;
+}
+.x-panel-nofooter .x-panel-bc, .x-panel-nofooter .x-window-bc {
+ height:6px;
+ font-size:0;
+ line-height:0;
+}
+.x-panel-bwrap {
+ overflow:hidden;
+ zoom:1;
+ left:0;
+ top:0;
+}
+.x-panel-body {
+ overflow:hidden;
+ zoom:1;
+}
+.x-panel-collapsed .x-resizable-handle{
+ display:none;
+}
+.ext-gecko .x-panel-animated * {
+ overflow:hidden !important;
+}
+.x-plain-body {
+ overflow:hidden;
+}
+.x-plain-bbar .x-toolbar {
+ overflow:hidden;
+ padding:2px;
+}
+.x-plain-tbar .x-toolbar {
+ overflow:hidden;
+ padding:2px;
+}
+.x-plain-bwrap {
+ overflow:hidden;
+ zoom:1;
+}
+.x-plain {
+ overflow:hidden;
+}
+.x-tool {
+ overflow:hidden;
+ width:15px;
+ height:15px;
+ float:right;
+ cursor:pointer;
+ background:transparent no-repeat;
+ margin-left:2px;
+}
+.x-tool-toggle {
+ background-position:0 -60px;
+}
+.x-tool-toggle-over {
+ background-position:-15px -60px;
+}
+.x-panel-collapsed .x-tool-toggle {
+ background-position:0 -75px;
+}
+.x-panel-collapsed .x-tool-toggle-over {
+ background-position:-15px -75px;
+}
+.x-tool-close {
+ background-position:0 -0;
+}
+.x-tool-close-over {
+ background-position:-15px 0;
+}
+.x-tool-minimize {
+ background-position:0 -15px;
+}
+.x-tool-minimize-over {
+ background-position:-15px -15px;
+}
+.x-tool-maximize {
+ background-position:0 -30px;
+}
+.x-tool-maximize-over {
+ background-position:-15px -30px;
+}
+.x-tool-restore {
+ background-position:0 -45px;
+}
+.x-tool-restore-over {
+ background-position:-15px -45px;
+}
+.x-tool-gear {
+ background-position:0 -90px;
+}
+.x-tool-gear-over {
+ background-position:-15px -90px;
+}
+.x-tool-pin {
+ background-position:0 -135px;
+}
+.x-tool-pin-over {
+ background-position:-15px -135px;
+}
+.x-tool-unpin {
+ background-position:0 -150px;
+}
+.x-tool-unpin-over {
+ background-position:-15px -150px;
+}
+.x-tool-right {
+ background-position:0 -165px;
+}
+.x-tool-right-over {
+ background-position:-15px -165px;
+}
+.x-tool-left {
+ background-position:0 -180px;
+}
+.x-tool-left-over {
+ background-position:-15px -180px;
+}
+.x-tool-up {
+ background-position:0 -210px;
+}
+.x-tool-up-over {
+ background-position:-15px -210px;
+}
+.x-tool-down {
+ background-position:0 -195px;
+}
+.x-tool-down-over {
+ background-position:-15px -195px;
+}
+.x-tool-refresh {
+ background-position:0 -225px;
+}
+.x-tool-refresh-over {
+ background-position:-15px -225px;
+}
+.x-tool-minus {
+ background-position:0 -255px;
+}
+.x-tool-minus-over {
+ background-position:-15px -255px;
+}
+.x-tool-plus {
+ background-position:0 -240px;
+}
+.x-tool-plus-over {
+ background-position:-15px -240px;
+}
+.x-tool-search {
+ background-position:0 -270px;
+}
+.x-tool-search-over {
+ background-position:-15px -270px;
+}
+.x-tool-save {
+ background-position:0 -285px;
+}
+.x-tool-save-over {
+ background-position:-15px -285px;
+}
+.x-tool-help {
+ background-position:0 -300px;
+}
+.x-tool-help-over {
+ background-position:-15px -300px;
+}
+.x-tool-print {
+ background-position:0 -315px;
+}
+.x-tool-print-over {
+ background-position:-15px -315px;
+}
+.x-panel-ghost {
+ z-index:12000;
+ overflow:hidden;
+ position:absolute;
+ left:0;top:0;
+ opacity:.65;
+ -moz-opacity:.65;
+ filter:alpha(opacity=65);
+}
+.x-panel-ghost ul {
+ margin:0;
+ padding:0;
+ overflow:hidden;
+ font-size:0;
+ line-height:0;
+ border:1px solid;
+ border-top:0 none;
+ display:block;
+}
+.x-panel-ghost * {
+ cursor:move !important;
+}
+.x-panel-dd-spacer {
+ border:2px dashed;
+}
+.x-panel-btns {
+ padding:5px;
+ overflow:hidden;
+}
+.x-panel-btns-left .x-buttonbar {
+ clear:none;
+}
+.x-panel-btns-center{
+ text-align:center;
+}
+.x-panel-btns-center .x-toolbar-ct {
+ margin:0 auto;
+ text-align:left;
+ width:auto;
+}
+.x-panel-fbar td.x-toolbar-cell{
+ padding:0px;
+}
+.x-panel-fbar {
+ display: block;
+ padding:2px;
+ position:relative;
+ left:0;
+ top:0;
+ zoom:1;
+ overflow:hidden;
+}
+
+.x-panel-fbar .x-toolbar-cell {
+ vertical-align:middle;
+}
+
+.x-panel-fbar td {
+ vertical-align:middle;
+}
+.x-panel-btns .x-btn-focus .x-btn-left{
+ background-position:0 -147px;
+}
+.x-panel-btns .x-btn-focus .x-btn-right{
+ background-position:0 -168px;
+}
+.x-panel-btns .x-btn-focus .x-btn-center{
+ background-position:0 -189px;
+}
+.x-panel-btns .x-btn-over .x-btn-left{
+ background-position:0 -63px;
+}
+.x-panel-btns .x-btn-over .x-btn-right{
+ background-position:0 -84px;
+}
+.x-panel-btns .x-btn-over .x-btn-center{
+ background-position:0 -105px;
+}
+.x-panel-btns .x-btn-click .x-btn-center{
+ background-position:0 -126px;
+}
+.x-panel-btns .x-btn-click .x-btn-right{
+ background-position:0 -84px;
+}
+.x-panel-btns .x-btn-click .x-btn-left{
+ background-position:0 -63px;
+}
+.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{
+ white-space: nowrap;
+}
+.x-window {
+ zoom:1;
+ -moz-outline: none;
+ outline: 0 none;
+}
+.x-window .x-resizable-handle {
+ opacity:0;
+ -moz-opacity:0;
+ filter:alpha(opacity=0);
+}
+.x-window-proxy {
+ border:1px solid;
+ z-index:12000;
+ overflow:hidden;
+ position:absolute;
+ left:0;top:0;
+ display:none;
+ opacity:.5;
+ -moz-opacity:.5;
+ filter:alpha(opacity=50);
+}
+.x-window-header {
+ overflow:hidden;
+ zoom:1;
+}
+.x-window-bwrap {
+ z-index:1;
+ position:relative;
+ zoom:1;
+ left:0;top:0;
+}
+.x-window-tl .x-window-header {
+ padding:5px 0 4px 0;
+}
+.x-window-header-text {
+ cursor:pointer;
+}
+.x-window-tc {
+ background: transparent repeat-x 0 0;
+ overflow:hidden;
+ zoom:1;
+}
+.x-window-tl {
+ background: transparent no-repeat 0 0;
+ padding-left:6px;
+ zoom:1;
+ z-index:1;
+ position:relative;
+}
+.x-window-tr {
+ background: transparent no-repeat right 0;
+ padding-right:6px;
+}
+.x-window-bc {
+ background: transparent repeat-x 0 bottom;
+ zoom:1;
+}
+.x-window-bc .x-window-footer {
+ padding-bottom:6px;
+ zoom:1;
+ font-size:0;
+ line-height:0;
+}
+.x-window-bl {
+ background: transparent no-repeat 0 bottom;
+ padding-left:6px;
+ zoom:1;
+}
+.x-window-br {
+ background: transparent no-repeat right bottom;
+ padding-right:6px;
+ zoom:1;
+}
+.x-window-mc {
+ border:1px solid;
+ padding:0;
+ margin:0;
+}
+.x-window-ml {
+ background: transparent repeat-y 0 0;
+ padding-left:6px;
+ zoom:1;
+}
+.x-window-mr {
+ background: transparent repeat-y right 0;
+ padding-right:6px;
+ zoom:1;
+}
+.x-window-body {
+ overflow:hidden;
+}
+.x-window-bwrap {
+ overflow:hidden;
+}
+.x-window-maximized .x-window-bl, .x-window-maximized .x-window-br,
+ .x-window-maximized .x-window-ml, .x-window-maximized .x-window-mr,
+ .x-window-maximized .x-window-tl, .x-window-maximized .x-window-tr {
+ padding:0;
+}
+.x-window-maximized .x-window-footer {
+ padding-bottom:0;
+}
+.x-window-maximized .x-window-tc {
+ padding-left:3px;
+ padding-right:3px;
+}
+.x-window-maximized .x-window-mc {
+ border-left:0 none;
+ border-right:0 none;
+}
+.x-window-tbar .x-toolbar, .x-window-bbar .x-toolbar {
+ border-left:0 none;
+ border-right: 0 none;
+}
+.x-window-bbar .x-toolbar {
+ border-top:1px solid;
+ border-bottom:0 none;
+}
+.x-window-draggable, .x-window-draggable .x-window-header-text {
+ cursor:move;
+}
+.x-window-maximized .x-window-draggable, .x-window-maximized .x-window-draggable .x-window-header-text {
+ cursor:default;
+}
+.x-window-body {
+ background:transparent;
+}
+.x-panel-ghost .x-window-tl {
+ border-bottom:1px solid;
+}
+.x-panel-collapsed .x-window-tl {
+ border-bottom:1px solid;
+}
+.x-window-maximized-ct {
+ overflow:hidden;
+}
+.x-window-sizing-ghost ul {
+ border:0 none !important;
+}
+.x-dlg-focus{
+ -moz-outline:0 none;
+ outline:0 none;
+ width:0;
+ height:0;
+ overflow:hidden;
+ position:absolute;
+ top:0;
+ left:0;
+}
+.x-dlg-mask{
+ z-index:10000;
+ display:none;
+ position:absolute;
+ top:0;
+ left:0;
+ -moz-opacity: 0.5;
+ opacity:.50;
+ filter: alpha(opacity=50);
+}
+body.ext-ie6.x-body-masked select {
+ visibility:hidden;
+}
+body.ext-ie6.x-body-masked .x-window select {
+ visibility:visible;
+}
+.x-window-plain .x-window-mc {
+ border: 1px solid;
+}
+.x-window-plain .x-window-body {
+ border: 1px solid;
+ background:transparent !important;
+}
+.x-html-editor-wrap {
+ border:1px solid;
+}
+
+.x-html-editor-tb .x-btn-text {
+ background:transparent no-repeat;
+}
+
+.x-html-editor-tip .x-tip-bd .x-tip-bd-inner {
+ padding:5px;
+ padding-bottom:1px;
+}
+
+.x-html-editor-tb .x-toolbar {
+ position:static !important;
+}.x-panel-noborder .x-panel-body-noborder {
+ border-width:0;
+}
+.x-panel-noborder .x-panel-header-noborder {
+ border-width:0 0 1px;
+ border-style:solid;
+}
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+ border-width:0 0 1px;
+ border-style:solid;
+}
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+ border-width:1px 0 0 0;
+ border-style:solid;
+}
+.x-window-noborder .x-window-mc {
+ border-width:0;
+}
+.x-window-plain .x-window-body-noborder {
+ border-width:0;
+}
+.x-tab-panel-noborder .x-tab-panel-body-noborder {
+ border-width:0;
+}
+.x-tab-panel-noborder .x-tab-panel-header-noborder {
+ border-width: 0 0 1px 0;
+}
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {
+ border-width: 1px 0 0 0;
+}
+.x-tab-panel-bbar-noborder .x-toolbar {
+ border-width: 1px 0 0 0;
+ border-style:solid;
+}
+.x-tab-panel-tbar-noborder .x-toolbar {
+ border-width:0 0 1px;
+ border-style:solid;
+}
+.x-border-panel {
+ position:absolute !important;
+ left:0;
+ top:0;
+}
+.x-tool-collapse-south {
+ background-position:0 -195px;
+}
+.x-tool-collapse-south-over {
+ background-position:-15px -195px;
+}
+.x-tool-collapse-north {
+ background-position:0 -210px;
+}
+.x-tool-collapse-north-over {
+ background-position:-15px -210px;
+}
+.x-tool-collapse-west {
+ background-position:0 -180px;
+}
+.x-tool-collapse-west-over {
+ background-position:-15px -180px;
+}
+.x-tool-collapse-east {
+ background-position:0 -165px;
+}
+.x-tool-collapse-east-over {
+ background-position:-15px -165px;
+}
+.x-tool-expand-south {
+ background-position:0 -210px;
+}
+.x-tool-expand-south-over {
+ background-position:-15px -210px;
+}
+.x-tool-expand-north {
+ background-position:0 -195px;
+}
+.x-tool-expand-north-over {
+ background-position:-15px -195px;
+}
+.x-tool-expand-west {
+ background-position:0 -165px;
+}
+.x-tool-expand-west-over {
+ background-position:-15px -165px;
+}
+.x-tool-expand-east {
+ background-position:0 -180px;
+}
+.x-tool-expand-east-over {
+ background-position:-15px -180px;
+}
+.x-tool-expand-north, .x-tool-expand-south {
+ float:right;
+ margin:3px;
+}
+.x-tool-expand-east, .x-tool-expand-west {
+ float:none;
+ margin:3px auto;
+}
+.x-accordion-hd .x-tool-toggle {
+ background-position:0 -255px;
+}
+.x-accordion-hd .x-tool-toggle-over {
+ background-position:-15px -255px;
+}
+.x-panel-collapsed .x-accordion-hd .x-tool-toggle {
+ background-position:0 -240px;
+}
+.x-panel-collapsed .x-accordion-hd .x-tool-toggle-over {
+ background-position:-15px -240px;
+}
+.x-accordion-hd {
+ padding-top:4px;
+ padding-bottom:3px;
+ border-top:0 none;
+ background: transparent repeat-x 0 -9px;
+}
+.x-layout-collapsed{
+ position:absolute;
+ left:-10000px;
+ top:-10000px;
+ visibility:hidden;
+ width:20px;
+ height:20px;
+ overflow:hidden;
+ border:1px solid;
+ z-index:20;
+}
+.ext-border-box .x-layout-collapsed{
+ width:22px;
+ height:22px;
+}
+.x-layout-collapsed-over{
+ cursor:pointer;
+}
+.x-layout-collapsed-west .x-layout-collapsed-tools, .x-layout-collapsed-east .x-layout-collapsed-tools{
+ position:absolute;
+ top:0;
+ left:0;
+ width:20px;
+ height:20px;
+}
+.x-layout-split{
+ position:absolute;
+ height:5px;
+ width:5px;
+ line-height:1px;
+ font-size:1px;
+ z-index:3;
+ background-color:transparent;
+}
+.ext-strict .ext-ie6 .x-layout-split{
+ background-color: #fff !important;
+ filter: alpha(opacity=1);
+}
+.x-layout-split-h{
+ background-image:url(../images/default/s.gif);
+ background-position: left;
+}
+.x-layout-split-v{
+ background-image:url(../images/default/s.gif);
+ background-position: top;
+}
+.x-column-layout-ct {
+ overflow:hidden;
+ zoom:1;
+}
+.x-column {
+ float:left;
+ padding:0;
+ margin:0;
+ overflow:hidden;
+ zoom:1;
+}
+.x-column-inner {
+ overflow:hidden;
+ zoom:1;
+}
+.x-layout-mini {
+ position:absolute;
+ top:0;
+ left:0;
+ display:block;
+ width:5px;
+ height:35px;
+ cursor:pointer;
+ opacity:.5;
+ -moz-opacity:.5;
+ filter:alpha(opacity=50);
+}
+.x-layout-mini-over, .x-layout-collapsed-over .x-layout-mini{
+ opacity:1;
+ -moz-opacity:1;
+ filter:none;
+}
+.x-layout-split-west .x-layout-mini {
+ top:48%;
+}
+.x-layout-split-east .x-layout-mini {
+ top:48%;
+}
+.x-layout-split-north .x-layout-mini {
+ left:48%;
+ height:5px;
+ width:35px;
+}
+.x-layout-split-south .x-layout-mini {
+ left:48%;
+ height:5px;
+ width:35px;
+}
+.x-layout-cmini-west .x-layout-mini {
+ top:48%;
+}
+.x-layout-cmini-east .x-layout-mini {
+ top:48%;
+}
+.x-layout-cmini-north .x-layout-mini {
+ left:48%;
+ height:5px;
+ width:35px;
+}
+.x-layout-cmini-south .x-layout-mini {
+ left:48%;
+ height:5px;
+ width:35px;
+}
+.x-layout-cmini-west, .x-layout-cmini-east {
+ border:0 none;
+ width:5px !important;
+ padding:0;
+ background:transparent;
+}
+.x-layout-cmini-north, .x-layout-cmini-south {
+ border:0 none;
+ height:5px !important;
+ padding:0;
+ background:transparent;
+}
+.x-viewport, .x-viewport body {
+ margin: 0;
+ padding: 0;
+ border: 0 none;
+ overflow: hidden;
+ height: 100%;
+}
+.x-abs-layout-item {
+ position:absolute !important;
+ left:0;
+ top:0;
+}
+.x-abs-layout-container {
+ position:relative;
+}
+.ext-ie input.x-abs-layout-item, .ext-ie textarea.x-abs-layout-item {
+ margin:0;
+}
+.x-box-layout-ct {
+ overflow:hidden;
+ zoom:1;
+}
+.x-box-inner {
+ overflow:hidden;
+ zoom:1;
+ position:relative;
+ left:0;
+ top:0;
+}
+.x-box-item {
+ position:absolute !important;
+ left:0;
+ top:0;
+}
+.x-border-layout-ct {
+ position: relative;
+}
+.x-progress-wrap {
+ border:1px solid;
+ overflow:hidden;
+}
+.x-progress-inner {
+ height:18px;
+ background:repeat-x;
+ position:relative;
+}
+.x-progress-bar {
+ height:18px;
+ float:left;
+ width:0;
+ background: repeat-x left center;
+ border-top:1px solid;
+ border-bottom:1px solid;
+ border-right:1px solid;
+}
+.x-progress-text {
+ padding:1px 5px;
+ overflow:hidden;
+ position:absolute;
+ left:0;
+ text-align:center;
+}
+.x-progress-text-back {
+ line-height:16px;
+}
+.ext-ie .x-progress-text-back {
+ line-height:15px;
+}
+.x-slider {
+ zoom:1;
+ -moz-outline: none;
+ outline: 0 none;
+}
+.x-slider-thumb {
+ line-height: 0px;
+ font-size: 0px;
+ position: absolute;
+ background:transparent no-repeat 0 0;
+}
+.x-slider-inner {
+ position:relative;
+ left:0;
+ top:0;
+ overflow:visible;
+ zoom:1;
+}
+.x-slider-focus {
+ position:absolute;
+ left:0;
+ top:0;
+ width:1px;
+ height:1px;
+ line-height:1px;
+ font-size:1px;
+ -moz-outline:0 none;
+ outline:0 none;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: ignore
+ display:block;
+ overflow:hidden;
+}
+.x-slider-horz {
+ padding-left:7px;
+ background:transparent no-repeat 0 -22px;
+}
+.x-slider-horz .x-slider-end {
+ padding-right:7px;
+ zoom:1;
+ background:transparent no-repeat right -44px;
+}
+.x-slider-horz .x-slider-inner {
+ background:transparent repeat-x 0 0;
+ height:22px;
+}
+.x-slider-horz .x-slider-thumb {
+ width:14px;
+ height:15px;
+ left:0;
+ top:3px;
+}
+.x-slider-horz .x-slider-thumb-over {
+ background-position: -14px -15px;
+}
+.x-slider-horz .x-slider-thumb-drag {
+ background-position: -28px -30px;
+}
+.x-slider-vert {
+ padding-top:7px;
+ background:transparent no-repeat -44px 0;
+ width:22px;
+}
+.x-slider-vert .x-slider-end {
+ padding-bottom:7px;
+ zoom:1;
+ background:transparent no-repeat -22px bottom;
+}
+.x-slider-vert .x-slider-inner {
+ background:transparent repeat-y 0 0;
+}
+.x-slider-vert .x-slider-thumb {
+ width:15px;
+ height:14px;
+ left:3px;
+ bottom:0;
+}
+.x-slider-vert .x-slider-thumb-over {
+ background-position: -15px -14px;
+}
+.x-slider-vert .x-slider-thumb-drag {
+ background-position: -30px -28px;
+}
+.x-window-dlg .x-window-body {
+ border:0 none !important;
+ padding:5px 10px;
+ overflow:hidden !important;
+}
+.x-window-dlg .x-window-mc {
+ border:0 none !important;
+}
+.x-window-dlg .ext-mb-input {
+ margin-top:4px;
+ width:95%;
+}
+.x-window-dlg .ext-mb-textarea {
+ margin-top:4px;
+}
+.x-window-dlg .x-progress-wrap {
+ margin-top:4px;
+}
+.ext-ie .x-window-dlg .x-progress-wrap {
+ margin-top:6px;
+}
+.x-window-dlg .x-msg-box-wait {
+ background:transparent no-repeat left;
+ display:block;
+ width:300px;
+ padding-left:18px;
+ line-height:18px;
+}
+.x-window-dlg .ext-mb-icon {
+ float:left;
+ width:47px;
+ height:32px;
+}
+.ext-ie .x-window-dlg .ext-mb-icon {
+ width:44px;
+}
+.x-window-dlg .x-dlg-icon .ext-mb-content{
+ zoom: 1; margin-left: 47px;
+}
+.x-window-dlg .ext-mb-info, .x-window-dlg .ext-mb-warning, .x-window-dlg .ext-mb-question, .x-window-dlg .ext-mb-error {
+ background:transparent no-repeat top left;
+}
+.ext-gecko2 .ext-mb-fix-cursor {
+ overflow:auto;
+}
+.arrow-top {
+ background: url(../images/gxt/icons/top2.gif) no-repeat center left !important;
+}
+.arrow-bottom {
+ background: url(../images/gxt/icons/bottom2.gif) no-repeat center left !important;
+}
+.arrow-up {
+ background: url(../images/gxt/icons/up2.gif) no-repeat center left !important;
+}
+.arrow-down {
+ background: url(../images/gxt/icons/down2.gif) no-repeat center left !important;
+}
+.arrow-left {
+ background: url(../images/gxt/icons/left2.gif) no-repeat center left !important;
+}
+.arrow-double-left {
+ background: url(../images/gxt/icons/doubleleft2.gif) no-repeat center left !important;
+}
+.arrow-right {
+ background: url(../images/gxt/icons/right2.gif) no-repeat center left !important;
+}
+.arrow-double-right {
+ background: url(../images/gxt/icons/doubleright2.gif) no-repeat center left !important;
+}
+.x-info {
+ border-style: solid;
+ border-color: #99bbe8;
+ border-width: 0;
+ z-index: 99999999;
+}
+
+.x-info-header {
+ overflow: hidden;
+ zoom: 1;
+ color: black;
+ font: bold 13px tahoma, arial, verdana, sans-serif;
+ padding: 5px 3px 4px 5px;
+ line-height: 15px;
+ background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;
+}
+
+.x-info-body {
+ border-top: 0 none;
+ overflow: hidden;
+ background: white;
+ position: relative; /* added for item scroll positioning */
+}
+
+.x-info-header {
+ overflow: hidden;
+ zoom: 1;
+}
+
+.x-info-tl .x-info-header {
+ color: #555555;
+ font-family: tahoma, arial, sans-serif;
+ font-size: 13px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: bold;
+ line-height: normal;
+ padding: 5px 0 4px 0;
+ border: 0 none;
+ background: transparent;
+}
+
+.x-info-tl .x-info-icon,.x-window-tl .x-info-icon {
+ padding-left: 20px !important;
+ background-repeat: no-repeat;
+ background-position: 0 4px;
+ zoom: 1;
+}
+
+.x-info-inline-icon {
+ width: 16px;
+ height: 16px;
+ background-repeat: no-repeat;
+ background-position: 0 0;
+ vertical-align: middle;
+ margin-right: 4px;
+ margin-top: -1px;
+ margin-bottom: -1px;
+}
+
+.x-info-tc {
+ background: transparent url(../images/gxt/info/top-bottom.gif) repeat-x 0 0;
+ overflow: hidden;
+}
+
+/* fix ie7 strict mode bug */
+.ext-ie7 .x-info-tc {
+ overflow: visible;
+}
+
+.x-info-tl {
+ background: transparent url(../images/gxt/info/corners-sprite.gif) no-repeat 0 0;
+ padding-left: 6px;
+ zoom: 1;
+}
+
+.x-info-tr {
+ background: transparent url(../images/gxt/info/corners-sprite.gif) no-repeat right 0;
+ zoom: 1;
+ padding-right: 6px;
+}
+
+.x-info-bc {
+ background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;
+ zoom: 1;
+ font-size: 0px;
+}
+
+.x-info-bc .x-info-footer {
+ zoom: 1;
+}
+
+.x-info-bl {
+ background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;
+ padding-left: 6px;
+ zoom: 1;
+}
+
+.x-info-br {
+ background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;
+ padding-right: 6px;
+ zoom: 1;
+}
+
+.x-info-mc {
+ border: 0 none;
+ padding: 0;
+ margin: 0;
+ font: normal 11px tahoma, arial, helvetica, sans-serif;
+ background: #dfe8f6;
+}
+
+.x-info-mc .x-info-body {
+ background: transparent;
+ border: 0 none;
+}
+
+.x-info-ml {
+ background: #fff url(../images/default/panel/left-right.gif) repeat-y 0 0;
+ padding-left: 6px;
+ zoom: 1;
+}
+
+.x-info-mr {
+ background: transparent url(../images/default/panel/left-right.gif) repeat-y right 0;
+ padding-right: 6px;
+ zoom: 1;
+}
+
+.x-info-bc .x-info-footer {
+ padding-bottom: 6px;
+}
+
+.x-info-nofooter .x-info-bc,.x-panel-nofooter .x-info-bc {
+ height: 6px;
+ font-size: 0;
+ line-height: 0;
+}
+
+.x-info-bwrap {
+ overflow: hidden;
+ zoom: 1;
+}
+
+.x-info-body {
+ overflow: hidden;
+ zoom: 1;
+ color: #555555;
+ font-family: tahoma, arial, sans-serif;
+ font-size: 12px;
+ font-size-adjust: none;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+}.x-combo-over {
+ border: 1px dotted #B5B4B4 !important;
+ background: #F1F1F1;
+ cursor: pointer;
+}
+
+.my-list {
+ border: 1px solid #99BBE8;
+ -moz-outline: none;
+ outline: 0 none;
+ -moz-user-focus: normal;
+ background-color: white;
+ font-family: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial", sans-serif;
+}
+
+.my-list-notchecked {
+ background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 0px !important;
+ margin: 3px 0pt 0pt 0px;
+}
+
+.my-list-checked {
+ background: url(../images/gxt/tree/checked.gif) no-repeat 0px 0px !important;
+ margin: 3px 0pt 0pt 0px;
+}
+
+.ext-ie .my-list-notchecked {
+ margin: 2px 0pt 0pt 0px;
+}
+
+.ext-ie .my-list-checked {
+ margin: 2px 0pt 0pt 0px;
+}
+
+.my-list-flat {
+ border: 1px solid #6593cf;
+ -moz-outline: none;
+ outline: 0 none;
+ -moz-user-focus: normal;
+ background-color: white;
+ cursor: default;
+}
+
+.my-list-item {
+ cursor: pointer;
+ -moz-outline: none;
+ outline: 0 none;
+ -moz-user-focus: normal;
+}
+
+.my-list-flat .my-list-item {
+ height: 19px;
+ border: 1px solid white;
+}
+
+.my-list-flat .my-list-item-over {
+ background-color: #F1F1F1;
+ border: 1px dotted #B5B4B4;
+}
+
+.my-list-flat .my-list-item-sel {
+ background-color: #DFE8F6;
+ border: 1px dotted #9EB8ED;
+}
+
+.my-list-flat .my-list-item-over .my-list-item-l {
+ background: none;
+}
+
+.my-list-flat .my-list-item-over .my-list-item-icon,.my-list-flat .my-list-item-over .my-list-item-ml,.my-list-flat .my-list-item-over .my-list-item-c
+ {
+ background: none;
+}
+
+.my-list-flat .my-list-item-over .my-list-item-r {
+ background: none;
+}
+
+.my-list-flat .my-list-item-sel .my-list-item-l {
+ background: none;
+}
+
+.my-list-flat .my-list-item-sel .my-list-item-icon,.my-list-flat .my-list-item-sel .my-list-item-ml,.my-list-flat .my-list-item-sel .my-list-item-c
+ {
+ background: none;
+}
+
+.my-list-flat .my-list-item-sel .my-list-item-r {
+ background: none;
+}
+
+.my-list-item-text {
+ font-size: 11px;
+ padding-top: 3px;
+ padding-left: 2px;
+ white-space: nowrap;
+ overflow: hidden;
+ line-height: 19px;
+}
+
+.my-list-item-l div {
+ width: 5px;
+}
+
+.my-list-item-ml {
+ width: 18px;
+}
+
+.my-list-item-c {
+ width: 100%;
+}
+
+.my-list-item-r div {
+ width: 3px;
+}
+
+.my-list-item-over .my-list-item-l {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left -57px;
+}
+
+.my-list-item-over .my-list-item-icon,.my-list-item-over .my-list-item-check,.my-list-item-over .my-list-item-c
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) repeat-x left -95px;
+}
+
+.my-list-item-over .my-list-item-r {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -76px;
+}
+
+.my-list-item-sel .my-list-item-l {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left 0px;
+}
+
+.my-list-item-sel .my-list-item-icon,.my-list-item-sel .my-list-item-check,.my-list-item-sel .my-list-item-c
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -38px;
+}
+
+.my-list-item-sel .my-list-item-r {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -19px;
+}.x-view {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+ background-color: white;
+ cursor: default;
+ border: 1px solid #98C0F4;
+ overflow: auto;
+ padding: 0px;
+ zoom: 1;
+}
+
+.x-view-item {
+ border: 1px solid #FFFFFF;
+ font-family: tahoma, arial, helvetica, sans-serif;
+ font-size: 12px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: normal;
+ overflow: hidden;
+ padding: 2px;
+ white-space: nowrap;
+}
+
+.x-view-highlightrow {
+ border: 1px dotted #545352 !important;
+}
+
+.x-view-item-over {
+ background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
+ border: 1px dotted #dddddd !important;
+ cursor: pointer;
+}
+
+.x-view-item-sel {
+ background: #DFE8F6 none repeat scroll 0%;
+ border: 1px dotted #A3BAE9 !important;
+ cursor: pointer;
+}
+.x-view-item-check {
+ padding: 0px;
+}
+.x-view-item-check td {
+ font-family: tahoma, arial, helvetica, sans-serif;
+ font-size: 12px;
+ font-size-adjust: none;
+ font-stretch: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-weight: normal;
+ line-height: normal;
+ white-space: nowrap;
+ vertical-align: middle;
+ padding-left: 1px;
+}
+
+.x-splitbar-shim {
+ filter: alpha(opacity = 1);
+ opacity: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 10;
+ background-color: white;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ user-select: none;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.x-vsplitbar {
+ background: url(../images/default/s.gif);
+ position: absolute;
+ z-index: 3;
+ cursor: e-resize;
+ cursor: col-resize;
+}
+
+.x-hsplitbar {
+ background: url(../images/default/s.gif);
+ position: absolute;
+ font-size: 1px;
+ line-height: 1px;
+ z-index: 3;
+ cursor: s-resize;
+ cursor: row-resize;
+}
+
+.x-splitbar-proxy {
+ position: absolute;
+ background-color: #929090;
+ font-size: 1px;
+ line-height: 1px;
+ z-index: 200;
+}
+
+.my-splitbar-shim {
+ filter: alpha(opacity = 1);
+ opacity: 0;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 10;
+ background-color: white;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ user-select: none;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-splitbar-transparent {
+ background: none;
+ font-size: 1px;
+ line-height: 1px;
+ z-index: 2000;
+}
+
+.my-splitbar-proxy {
+ position: absolute;
+ background-color: #929090;
+ font-size: 1px;
+ line-height: 1px;
+ z-index: 200;
+}.x-status {
+ padding: 0 4px;
+ height: 21px;
+ line-height: 21px !important;
+ cursor: default;
+}
+.x-status .x-status-text{
+ padding: 2px;
+ line-height: 21px !important;
+}
+.x-status-icon {
+ padding-left: 25px !important;
+ background: transparent no-repeat left center;
+}
+.x-status-busy {
+ background-image: url(../images/default/grid/loading.gif);
+}
+.x-status-text-panel {
+ border: 1px solid;
+ border-color: #99bbe8 #fff #fff #99bbe8;
+}
+.my-tbl {
+ border: 1px solid #99BBE8;
+ cursor: default;
+ background-color: white;
+ overflow: hidden;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 11px;
+ table-layout: fixed;
+}
+
+.my-tbl-col-overflow {
+ overflow: hidden;
+}
+
+.ext-ie .my-tbl-col-overflow {
+
+}
+
+.my-tbl-col-text {
+ color: black;
+ padding: 5px 4px 0 4px;
+ display: block;
+ white-space: nowrap;
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 11px;
+}
+
+.my-tbl-col {
+ border-right: 1px solid #D5D5D5;
+ background: url(../images/gxt/table/vs-column-bg.gif) repeat-x;
+}
+
+.my-tbl-col-splitter {
+ position: absolute;
+ top: 0;
+ width: 6px;
+ z-index: 100;
+ height: 100%;
+ right: 0px;
+}
+
+.my-tbl-col-over {
+ background: url(../images/gxt/table/vs-column-bg.gif) repeat-x 0px -24px;
+}
+
+.my-tbl-col-sort {
+ background-position: 0px -48px;
+}
+
+.my-icon-asc {
+ background-image: url(../images/gxt/icons/hmenu-asc.gif) !important;
+}
+
+.my-icon-desc {
+ background-image: url(../images/gxt/icons/hmenu-desc.gif) !important;
+}
+
+.my-tbl-col-asc {
+ background: url(../images/gxt/table/vsort-asc.gif) no-repeat 50% top;
+}
+
+.my-tbl-col-desc {
+ background: url(../images/gxt/table/vsort-desc.gif) no-repeat 50% top;
+}
+
+.my-tbl-col-splitter {
+ background: none;
+}
+
+.my-tbl-data {
+ background-color: white;
+ overflow: hidden;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-item {
+ border-top: 1px solid white;
+ border-bottom: 1px solid white;
+ border-bottom: 1px solid #EDEDED;
+ cursor: default;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-item table {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ table-layout: fixed;
+ outline: 0 none;
+}
+
+.my-tbl-data .my-tbl-item-cell {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-item td {
+ -moz-user-select: none;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-vlines .my-tbl-data .my-tbl-item-cell-overflow {
+ border-right: 1px solid #EDEDED;
+}
+
+.my-tbl-data .my-tbl-item-cell-overflow {
+ white-space: nowrap;
+ overflow: hidden;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-data .my-tbl-item-cell-text {
+ padding: 3px 4px;
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 11px;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-tbl-data .my-tbl-item-cell-widget {
+ padding: 1px 4px;
+}
+
+.my-tbl-data tr {
+ overflow: hidden;
+}
+
+.my-tbl-item-over {
+ border-top: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
+}
+
+.my-tbl-item-sel {
+ background-image: none !important;
+ background-color: #D9E1ED !important;
+ border-top: 1px dotted #9EB8ED !important;
+ border-bottom: 1px dotted #9EB8ED !important;
+}
+
+.ext-ie .my-tbl TD .x-form-text {
+ POSITION: static;
+ TOP: 0px;
+}.tree-folder {
+ background: url(../images/gxt/icons/folder-closed.gif) no-repeat -1px -1px;
+}
+
+.tree-folder-open {
+ background: url(../images/gxt/icons/folder.gif) no-repeat -1px -1px;
+}
+
+.my-treetbl-tree {
+ cursor: default;
+}
+
+.my-treetblitem,.my-treetblitem table,.my-treetblitem table td {
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-treetblitem td {
+ height: 19px;
+}
+
+.my-treetbl-indent {
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.my-treetbl-joint div {
+ width: 15px;
+ height: 19px;
+ line-height: 1px;
+ font-size: 1px;
+}
+
+.my-treetbl-left,.my-treetbl-left div,.my-treetbl-right {
+ line-height: 1px;
+ font-size: 1px;
+ width: 3px;
+}
+
+.my-treetbl-left div,.my-treetbl-right div {
+ width: 3px;
+}
+
+.my-treetbl-check div {
+ width: 17px;
+ height: 19px;
+ line-height: 1px;
+ font-size: 1px;
+ display: block;
+}
+
+.my-treetbl-icon div {
+ width: 16px;
+ height: 16px;
+ margin-top: 1px;
+ cursor: pointer;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
+.my-ie .my-treetbl-icon {
+ padding-top: 2px;
+}
+
+.my-ie .my-treetbl-icon div {
+ position: static;
+}
+
+.my-treetbl-item-text span {
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 12px;
+ white-space: nowrap;
+ padding-left: 3px;
+ padding-right: 3px;
+ display: block;
+ height: 15px;
+ cursor: pointer;
+}
+
+.my-treetbl-over .my-treetbl-left {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left -57px;
+}
+
+.my-treetbl-over .my-treetbl-right {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -76px;
+}
+
+.my-treetbl-over .my-treetbl-check,.my-treetbl-over .my-treetbl-icon,.my-treetbl-over .my-treetbl-item-text
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -95px;
+}
+
+.my-treetbl-sel .my-treetbl-left {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left 0px;
+}
+
+.my-treetbl-sel .my-treetbl-right {
+ background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -19px;
+}
+
+.my-treetbl-sel .my-treetbl-check,.my-treetbl-sel .my-treetbl-icon,.my-treetbl-sel .my-treetbl-item-text
+ {
+ background: url(../images/gxt/shared/select-19-bg.gif) left -38px;
+}
+
+.my-treetbl-close {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px 1px;
+}
+
+.my-treetbl-open {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -32px;
+}
+
+.my-treetbl-joint-over .my-treetbl-open {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -48px;
+}
+
+.my-treetbl-joint-over .my-treetbl-close {
+ background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -15px;
+}
+
+.my-treetbl-notchecked {
+ background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 50%;
+}
+
+.my-treetbl-checked {
+ background: url(../images/gxt/tree/checked.gif) no-repeat 0px 50%;
+}
+
+.my-treetbl-loading .tree-folder {
+ background: url(../images/gxt/icons/wait.gif) no-repeat 0px -1px;
+}
+
+.my-treetbl-loading .my-treetbl-item-text span {
+ font-style: italic;
+}
+
+.my-treetbl {
+ border: 1px solid #99BBE8;
+ cursor: default;
+ background-color: white;
+ overflow: hidden;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-treetbl-col-overflow {
+ overflow: hidden;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-treetbl-col-text {
+ color: black;
+ padding: 5px 4px 0 4px;
+ display: block;
+ white-space: nowrap;
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 12px;
+}
+
+.my-treetbl-col {
+ border-right: 1px solid #D5D5D5;
+ background: url(../images/gxt/table/vs-column-bg.gif) repeat-x;
+}
+
+.my-treetbl-col-splitter {
+ position: absolute;
+ top: 0;
+ width: 6px;
+ z-index: 100;
+ height: 100%;
+ right: 0px;
+}
+
+.my-treetbl-col-over {
+ background: url(../images/gxt/table/vs-column-bg.gif) repeat-x 0px -24px;
+}
+
+.my-treetbl-col-sort {
+ background-position: 0px -48px;
+}
+
+.my-treetbl-col-asc {
+ background: url(../images/gxt/table/vsort-asc.gif) no-repeat 50% top;
+}
+
+.my-treetbl-col-desc {
+ background: url(../images/gxt/table/vsort-desc.gif) no-repeat 50% top;
+}
+
+.my-treetbl-col-splitter {
+ background: none;
+}
+
+.my-treetbl-data {
+ background-color: white;
+ overflow: hidden;
+}
+
+.my-treetbl-data .my-treetbl-cell {
+ height: 20px;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-treetbl-data .my-treetbl-cell-overflow {
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.my-treetbl-data .my-treetbl-cell-text {
+ padding: 0px 0px;
+ font-family: arial, tahoma, helvetica, sans-serif;
+ font-size: 12px;
+}
+
+.my-treetbl-data tr {
+ overflow: hidden;
+}
+
+.my-treetbl-item {
+ border-top: 1px solid white;
+ border-bottom: 1px solid white;
+ border-bottom: 1px solid #EDEDED;
+ cursor: default;
+ -moz-outline: none;
+ -moz-user-focus: normal;
+ outline: 0 none;
+}
+
+.my-treetbl-item-over {
+ border-top: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;
+}
+
+.my-treetbl-item-sel {
+ background-image: none;
+ background-color: #D9E1ED;
+ border-top: 1px dotted #9EB8ED;
+ border-bottom: 1px dotted #9EB8ED;
+}
+
+.my-treetbl .x-grid3-td-numberer {
+ background: transparent url(../images/gxt/tree/tree-table-special-col.gif) repeat-y
+ scroll left center;
+ height: 19px;
+ line-height: normal;
+ padding-left: 0px;
+ margin-left: 0px;
+}
+
+.x-grid3-td-numberer div {
+ font-size: 11px;
+ font-family: "segoe ui", tahoma, arial, sans-serif;
+ color: #444444;
+ padding: 3px 0px 0 5px !important;
+}
+
+.ext-ie .my-treetbl .x-grid3-td-numberer {
+ height: 20px;
+}
+
+.my-treetbl-item-sel .x-grid3-td-numberer {
+ background: transparent url(../images/gxt/tree/tree-table-special-col-sel.gif) repeat-y
+ scroll left center;
+}.ext-el-mask {
+ background-color: #ccc;
+}
+.ext-el-mask-msg {
+ border-color:#6593cf;
+ background-color:#c3daf9;
+ background-image:url(../images/default/box/tb-blue.gif);
+}
+.ext-el-mask-msg div {
+ background-color: white;
+ border-color:#a3bad9;
+ color:#222;
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-mask-loading div {
+ background-color:#fbfbfb;
+ background-image:url(../images/default/grid/loading.gif);
+}
+.x-item-disabled {
+ color: gray;
+}
+.x-item-disabled * {
+ color: gray !important;
+}
+.x-splitbar-proxy {
+ background-color: #aaa;
+}
+.x-color-palette a {
+ border-color:#fff;
+}
+.x-color-palette a.x-color-palette-hover, .x-color-palette a.x-color-palette-sel {
+ border-color:#8bb8f3;
+ background-color: #deecfd;
+}
+.x-color-palette em {
+ border-color:#aca899;
+}
+.x-ie-shadow {
+ background-color:#777;
+}
+.x-shadow .xsmc {
+ background-image: url(../images/default/shadow-c.png);
+}
+.x-shadow .xsml, .x-shadow .xsmr {
+ background-image: url(../images/default/shadow-lr.png);
+}
+.x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{
+ background-image: url(../images/default/shadow.png);
+}
+.loading-indicator {
+ font-size: 11px;
+ background-image: url(../images/default/grid/loading.gif);
+}
+.x-spotlight {
+ background-color: #ccc;
+}
+.x-aria-focusframe-side {
+ background-color: #15428B;
+ line-height: 2px;
+ font-size: 2px;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+ background-color: #deecfd;
+ border-color:#8db2e3;
+ overflow:hidden;
+ zoom:1;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+ border-color:#8db2e3;
+}
+ul.x-tab-strip-top{
+ background-color:#cedff5;
+ background-image: url(../images/default/tabs/tab-strip-bg.gif);
+ border-bottom-color:#8db2e3;
+}
+ul.x-tab-strip-bottom{
+ background-color:#cedff5;
+ background-image: url(../images/default/tabs/tab-strip-btm-bg.gif);
+ border-top-color:#8db2e3;
+}
+.x-tab-panel-header-plain .x-tab-strip-spacer,
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+ border-color:#8db2e3;
+ background-color: #deecfd;
+}
+.x-tab-strip span.x-tab-strip-text {
+ font:normal 11px tahoma,arial,helvetica;
+ color:#416aa3;
+}
+.x-tab-strip-over span.x-tab-strip-text {
+ color:#15428b;
+}
+.x-tab-strip-active span.x-tab-strip-text {
+ color:#15428b;
+ font-weight:bold;
+}
+.x-tab-strip-disabled .x-tabs-text {
+ color:#aaaaaa;
+}
+.x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{
+ background-image: url(../images/default/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-bottom .x-tab-right {
+ background-image: url(../images/default/tabs/tab-btm-inactive-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-left {
+ background-image: url(../images/default/tabs/tab-btm-inactive-left-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+ background-image: url(../images/default/tabs/tab-btm-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+ background-image: url(../images/default/tabs/tab-btm-left-bg.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+ background-image:url(../images/default/tabs/tab-close.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+ background-image:url(../images/default/tabs/tab-close.gif);
+}
+.x-tab-panel-body {
+ border-color:#8db2e3;
+ background-color:#fff;
+}
+.x-tab-panel-body-top {
+ border-top: 0 none;
+}
+.x-tab-panel-body-bottom {
+ border-bottom: 0 none;
+}
+.x-tab-scroller-left {
+ background-image:url(../images/default/tabs/scroll-left.gif);
+ border-bottom-color:#8db2e3;
+}
+.x-tab-scroller-left-over {
+ background-position: 0 0;
+}
+.x-tab-scroller-left-disabled {
+ background-position: -18px 0;
+ opacity:.5;
+ -moz-opacity:.5;
+ filter:alpha(opacity=50);
+ cursor:default;
+}
+.x-tab-scroller-right {
+ background-image:url(../images/default/tabs/scroll-right.gif);
+ border-bottom-color:#8db2e3;
+}
+.x-tab-panel-bbar .x-toolbar, .x-tab-panel-tbar .x-toolbar {
+ border-color:#99bbe8;
+}
+.x-form-field {
+ font: normal 12px tahoma, arial, helvetica, sans-serif;
+}
+
+.x-form-text,textarea.x-form-field {
+ background-color: #fff;
+ background-image: url(../images/default/form/text-bg.gif);
+ border-color: #b5b8c8;
+}
+
+.x-form-select-one {
+ background-color: #fff;
+ border-color: #b5b8c8;
+}
+
+.x-form-check-group-label {
+ border-bottom: 1px solid #99bbe8;
+ color: #15428b;
+}
+
+.x-editor .x-form-check-wrap {
+ background-color: #fff;
+}
+
+.x-form-field-wrap .x-form-trigger {
+ background-image: url(../images/default/form/trigger.gif);
+ border-bottom-color: #b5b8c8;
+}
+
+.x-form-field-wrap .x-form-date-trigger {
+ background-image: url(../images/default/form/date-trigger.gif);
+}
+
+.x-form-field-wrap .x-form-clear-trigger {
+ background-image: url(../images/default/form/clear-trigger.gif);
+}
+
+.x-form-field-wrap .x-form-search-trigger {
+ background-image: url(../images/default/form/search-trigger.gif);
+}
+
+.x-trigger-wrap-focus .x-form-trigger {
+ border-bottom-color: #7eadd9;
+}
+
+.x-item-disabled .x-form-trigger-over {
+ border-bottom-color: #b5b8c8;
+}
+
+.x-item-disabled .x-form-trigger-click {
+ border-bottom-color: #b5b8c8;
+}
+
+.x-form-focus,textarea.x-form-focus {
+ border-color: #7eadd9;
+}
+
+.x-form-invalid,textarea.x-form-invalid {
+ background-color: #fff;
+ background-image: url(../images/default/grid/invalid_line.gif);
+ border-color: #c30;
+}
+
+.ext-safari .x-form-invalid {
+ background-color: #fee;
+ border-color: #ff7870;
+}
+
+.x-form-inner-invalid,textarea.x-form-inner-invalid {
+ background-color: #fff;
+ background-image: url(../images/default/grid/invalid_line.gif);
+}
+
+.x-form-grow-sizer {
+ font: normal 12px tahoma, arial, helvetica, sans-serif;
+}
+
+.x-form-item {
+ font: normal 12px tahoma, arial, helvetica, sans-serif;
+}
+
+.x-form-invalid-msg {
+ color: #c0272b;
+ font: normal 11px tahoma, arial, helvetica, sans-serif;
+ background-image: url(../images/default/shared/warning.gif);
+}
+
+.x-form-empty-field {
+ color: gray;
+}
+
+.x-small-editor .x-form-field {
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+}
+
+.ext-safari .x-small-editor .x-form-field {
+ font: normal 12px arial, tahoma, helvetica, sans-serif;
+}
+
+.x-form-invalid-icon {
+ background-image: url(../images/default/form/exclamation.gif);
+}
+
+.x-fieldset {
+ border-color: #b5b8c8;
+}
+
+.x-fieldset legend {
+ font: bold 11px tahoma, arial, helvetica, sans-serif;
+ color: #15428b;
+}
+
+.x-editor .x-form-check-wrap {
+ border-color: #7eadd9;
+}
+
+.x-spinner-field .x-form-spinner-up {
+ background-image: url('../images/default/form/spinner.gif');
+}
+.x-spinner-field .x-form-spinner-down {
+ background-image: url('../images/default/form/spinner.gif');
+}.x-btn{
+ font:normal 11px tahoma, verdana, helvetica;
+}
+.x-btn button{
+ font:normal 11px arial,tahoma,verdana,helvetica;
+ color:#333;
+}
+.x-btn em {
+ font-style:normal;
+ font-weight:normal;
+}
+.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{
+ background-image:url(../images/default/button/btn.gif);
+}
+.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{
+ color:#000;
+}
+.x-btn-disabled *{
+ color:gray !important;
+}
+.x-btn-mc em.x-btn-arrow {
+ background-image:url(../images/default/button/arrow.gif);
+}
+.x-btn-mc em.x-btn-split {
+ background-image:url(../images/default/button/s-arrow.gif);
+}
+.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split {
+ background-image:url(../images/default/button/s-arrow-o.gif);
+}
+.x-btn-mc em.x-btn-arrow-bottom {
+ background-image:url(../images/default/button/s-arrow-b-noline.gif);
+}
+.x-btn-mc em.x-btn-split-bottom {
+ background-image:url(../images/default/button/s-arrow-b.gif);
+}
+.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom {
+ background-image:url(../images/default/button/s-arrow-bo.gif);
+}
+.x-btn-group-header {
+ color: #3e6aaa;
+}
+.x-btn-group-tc {
+ background-image: url(../images/default/button/group-tb.gif);
+}
+.x-btn-group-tl {
+ background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-tr {
+ background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-bc {
+ background-image: url(../images/default/button/group-tb.gif);
+}
+.x-btn-group-bl {
+ background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-br {
+ background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-ml {
+ background-image: url(../images/default/button/group-lr.gif);
+}
+.x-btn-group-mr {
+ background-image: url(../images/default/button/group-lr.gif);
+}
+.x-btn-group-notitle .x-btn-group-tc {
+ background-image: url(../images/default/button/group-tb.gif);
+}
+.x-toolbar {
+ border-color: #a9bfd3;
+ background-color: #d0def0;
+ background-image: url(../images/default/toolbar/bg.gif);
+}
+
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label {
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+}
+
+.x-toolbar .x-item-disabled {
+ color: gray;
+}
+
+.x-toolbar .x-item-disabled * {
+ color: gray;
+}
+
+.x-toolbar .x-btn-mc em.x-btn-split {
+ background-image: url(../images/default/button/s-arrow-noline.gif);
+}
+
+.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split
+ {
+ background-image: url(../images/default/button/s-arrow-o.gif);
+}
+
+.x-toolbar .x-btn-mc em.x-btn-split-bottom {
+ background-image: url(../images/default/button/s-arrow-b-noline.gif);
+}
+
+.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom,.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom
+ {
+ background-image: url(../images/default/button/s-arrow-bo.gif);
+}
+
+.x-toolbar .xtb-sep {
+ background-image: url(../images/default/grid/grid-blue-split.gif);
+}
+
+.x-tbar-page-first {
+ background-image: url(../images/default/grid/page-first.gif) !important;
+}
+
+.x-tbar-refresh {
+ background-image: url(../images/default/grid/refresh.gif) !important;
+}
+
+.x-tbar-page-last {
+ background-image: url(../images/default/grid/page-last.gif) !important;
+}
+
+.x-tbar-page-next {
+ background-image: url(../images/default/grid/page-next.gif) !important;
+}
+
+.x-tbar-page-prev {
+ background-image: url(../images/default/grid/page-prev.gif) !important;
+}
+
+.x-tbar-loading {
+ background-image: url(../images/default/grid/loading.gif) !important;
+}
+
+.x-item-disabled .x-tbar-page-first {
+ background-image: url(../images/default/grid/page-first-disabled.gif) !important;
+}
+
+.x-item-disabled .x-tbar-page-last {
+ background-image: url(../images/default/grid/page-last-disabled.gif) !important;
+}
+
+.x-item-disabled .x-tbar-page-next {
+ background-image: url(../images/default/grid/page-next-disabled.gif) !important;
+}
+
+.x-item-disabled .x-tbar-page-prev {
+ background-image: url(../images/default/grid/page-prev-disabled.gif) !important;
+}
+
+.x-paging-info {
+ color: #444;
+}
+
+.x-toolbar-more-icon {
+ background-image: url(../images/default/toolbar/more.gif) !important;
+}.x-resizable-handle {
+ background-color:#fff;
+}
+.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east,
+.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west
+{
+ background-image:url(../images/default/sizer/e-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south,
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north
+{
+ background-image:url(../images/default/sizer/s-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
+ background-image:url(../images/default/sizer/s-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
+ background-image:url(../images/default/sizer/se-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
+ background-image:url(../images/default/sizer/nw-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
+ background-image:url(../images/default/sizer/ne-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
+ background-image:url(../images/default/sizer/sw-handle.gif);
+}
+.x-resizable-proxy{
+ border-color:#3b5a82;
+}
+.x-resizable-overlay{
+ background-color:#fff;
+}
+.x-grid3 {
+ background-color: #fff;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+ border-color: #99bbe8;
+}
+
+.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-cell,.x-grid3-summary-row .x-grid3-cell {
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+}
+
+.x-grid3-hd-row .x-grid3-hd {
+ border-left-color: #eee;
+ border-right-color: #d0d0d0;
+}
+
+.x-grid-row-loading {
+ background-color: #fff;
+ background-image: url(../images/default/shared/loading-balls.gif);
+}
+
+.x-grid3-row {
+ border-color: #ededed;
+ border-top-color: #fff;
+}
+
+.x-grid3-row-alt {
+ background-color: #fafafa;
+}
+
+.x-grid3-row-over {
+ border-color: #ddd;
+ background-color: #efefef;
+ background-image: url(../images/default/grid/row-over.gif);
+}
+
+.x-grid3-resize-proxy {
+ background-color: #777;
+}
+
+.x-grid3-resize-marker {
+ background-color: #777;
+}
+
+.x-grid3-header {
+ background-color: #f9f9f9;
+ background-image: url(../images/default/grid/grid3-hrow.gif);
+}
+
+.x-grid3-header-pop {
+ border-left-color: #d0d0d0;
+}
+
+.x-grid3-header-pop-inner {
+ border-left-color: #eee;
+ background-image: url(../images/default/grid/hd-pop.gif);
+}
+
+td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open {
+ border-left-color: #aaccf6;
+ border-right-color: #aaccf6;
+}
+
+td.x-grid3-hd-over .x-grid3-hd-inner,td.sort-desc .x-grid3-hd-inner,td.sort-asc .x-grid3-hd-inner,td.x-grid3-hd-menu-open .x-grid3-hd-inner
+ {
+ background-color: #ebf3fd;
+ background-image: url(../images/default/grid/grid3-hrow-over.gif);
+}
+
+.sort-asc .x-grid3-sort-icon {
+ background-image: url(../images/default/grid/sort_asc.gif);
+}
+
+.sort-desc .x-grid3-sort-icon {
+ background-image: url(../images/default/grid/sort_desc.gif);
+}
+
+.x-grid3-cell-text,.x-grid3-hd-text {
+ color: #000;
+}
+
+.x-grid3-split {
+ background-image: url(../images/default/grid/grid-split.gif);
+}
+
+.x-grid3-hd-text {
+ color: #15428b;
+}
+
+.x-dd-drag-proxy .x-grid3-hd-inner {
+ background-color: #ebf3fd;
+ background-image: url(../images/default/grid/grid3-hrow-over.gif);
+ border-color: #aaccf6;
+}
+
+.col-move-top {
+ background-image: url(../images/default/grid/col-move-top.gif);
+}
+
+.col-move-bottom {
+ background-image: url(../images/default/grid/col-move-bottom.gif);
+}
+
+.x-grid3-highlightrow {
+ border: 1px dotted #545352;
+}
+
+.x-grid3-row-selected {
+ background-image: none !important;
+ background-color: #dfe8f6 !important;
+ border-color: #a3bae9;
+}
+
+.x-grid3-cell-selected {
+ background-color: #b8cfee !important;
+ color: #000;
+}
+
+.x-grid3-group-selected {
+ background-color: #b8cfee !important;
+}
+
+.x-grid3-cell-selected span {
+ color: #000 !important;
+}
+
+.x-grid3-cell-selected .x-grid3-cell-text {
+ color: #000;
+}
+
+.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker {
+ background-color: #ebeadb !important;
+ background-image: url(../images/default/grid/grid-hrow.gif) !important;
+ color: #000;
+ border-top-color: #fff;
+ border-right-color: #6fa0df !important;
+}
+
+.x-grid3-locked td.x-grid3-row-marker div,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div {
+ color: #15428b !important;
+}
+
+.x-grid3-dirty-cell {
+ background-image: url(../images/default/grid/dirty.gif);
+}
+
+.x-grid3-invalid-cell {
+ background-image: url(../images/default/grid/invalid_line.gif);
+}
+
+.x-grid3-topbar,.x-grid3-bottombar {
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+}
+
+.x-grid3-bottombar .x-toolbar {
+ border-top-color: #a9bfd3;
+}
+
+.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
+ background-image: url(../images/default/grid/grid3-special-col-bg.gif) !important;
+ color: #000 !important;
+}
+
+.x-props-grid .x-grid3-body .x-grid3-td-name {
+ background-color: #fff !important;
+ border-right-color: #eee;
+}
+
+.xg-hmenu-sort-asc .x-menu-item-icon {
+ background-image: url(../images/default/grid/hmenu-asc.gif);
+}
+
+.xg-hmenu-sort-desc .x-menu-item-icon {
+ background-image: url(../images/default/grid/hmenu-desc.gif);
+}
+
+.xg-hmenu-lock .x-menu-item-icon {
+ background-image: url(../images/default/grid/hmenu-lock.gif);
+}
+
+.xg-hmenu-unlock .x-menu-item-icon {
+ background-image: url(../images/default/grid/hmenu-unlock.gif);
+}
+
+.x-grid3-hd-btn {
+ background-color: #c3daf9;
+ background-image: url(../images/default/grid/grid3-hd-btn.gif);
+}
+
+.x-grid3-body .x-grid3-td-expander {
+ background-image: url(../images/default/grid/grid3-special-col-bg.gif);
+}
+
+.x-grid3-row-expander {
+ background-image: url(../images/default/grid/row-expand-sprite.gif);
+}
+
+.x-grid3-body .x-grid3-td-checker {
+ background-image: url(../images/default/grid/grid3-special-col-bg.gif);
+}
+
+.x-grid3-row-checker,.x-grid3-hd-checker {
+ background-image: url(../images/default/grid/row-check-sprite.gif);
+}
+
+.x-grid3-body .x-grid3-td-numberer {
+ background-image: url(../images/default/grid/grid3-special-col-bg.gif);
+}
+
+.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
+ color: #444;
+}
+
+.x-grid3-body .x-grid3-td-row-icon {
+ background-image: url(../images/default/grid/grid3-special-col-bg.gif);
+}
+
+.x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer,.x-grid3-body .x-grid3-row-selected .x-grid3-td-checker,.x-grid3-body .x-grid3-row-selected .x-grid3-td-expander
+ {
+ background-image: url(../images/default/grid/grid3-special-col-sel-bg.gif);
+}
+
+.x-grid3-check-col {
+ background-image: url(../images/default/menu/unchecked.gif);
+}
+
+.x-grid3-check-col-on {
+ background-image: url(../images/default/menu/checked.gif);
+}
+
+.x-grid-group,.x-grid-group-body,.x-grid-group-hd {
+ zoom: 1;
+}
+
+.x-grid-group-hd {
+ border-bottom-color: #99bbe8;
+}
+
+.x-grid-group-hd .x-grid-group-div {
+ background-image: url(../images/default/grid/group-expand-sprite.gif);
+ color: #3764a0;
+ font: bold 11px tahoma, arial, helvetica, sans-serif;
+}
+
+.x-group-by-icon {
+ background-image: url(../images/default/grid/group-by.gif);
+}
+
+.x-cols-icon {
+ background-image: url(../images/default/grid/columns.gif);
+}
+
+.x-show-groups-icon {
+ background-image: url(../images/default/grid/group-by.gif);
+}
+
+.x-grid-empty {
+ color: gray;
+ font: normal 11px tahoma, arial, helvetica, sans-serif;
+}
+
+.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
+ border-right-color: #ededed;
+}
+
+.x-grid-with-col-lines .x-grid3-row-selected {
+ border-top-color: #a3bae9;
+}
+
+.x-grid3-check-col-disabled {
+ background-color: transparent;
+ background-image: url(../images/gxt/menu/disabledcheck.gif);
+}
+
+.x-row-editor-header {
+ background: transparent url(../images/gxt/grid/row-editor-bg.gif) repeat-x 0 0;
+}
+
+.x-row-editor-footer {
+ background: transparent url(../images/gxt/grid/row-editor-bg.gif) repeat-x 0 -2px;
+}
+
+.x-row-editor-body {
+ background: #ebf2fb;
+}
+
+.x-row-editor .x-btns {
+ background: transparent url(../images/gxt/grid/row-editor-btns.gif) no-repeat 0 0;
+}
+
+.x-row-editor .x-btns .x-plain-bwrap {
+ background: transparent url(../images/gxt/grid/row-editor-btns.gif) no-repeat right -31px;
+}
+
+.x-row-editor .x-btns .x-plain-body {
+ background: transparent url(../images/gxt/grid/row-editor-btns.gif) repeat-x 0 -62px;
+}
+
+.x-inserted-row {
+ background-color: #f7f9cc
+}.x-dd-drag-ghost{
+ color:#000;
+ font: normal 11px arial, helvetica, sans-serif;
+ border-color: #ddd #bbb #bbb #ddd;
+ background-color:#fff;
+}
+.x-dd-drop-nodrop .x-dd-drop-icon{
+ background-image: url(../images/default/dd/drop-no.gif);
+}
+.x-dd-drop-ok .x-dd-drop-icon{
+ background-image: url(../images/default/dd/drop-yes.gif);
+}
+.x-dd-drop-ok-add .x-dd-drop-icon{
+ background-image: url(../images/default/dd/drop-add.gif);
+}
+.x-view-selector {
+ background-color:#c3daf9;
+ border-color:#3399bb;
+}
+.x-tree-drop-ok-append .x-dd-drop-icon {
+ background-image: url(../images/default/tree/drop-add.gif);
+}
+
+.x-tree-drop-ok-above .x-dd-drop-icon {
+ background-image: url(../images/default/tree/drop-over.gif);
+}
+
+.x-tree-drop-ok-below .x-dd-drop-icon {
+ background-image: url(../images/default/tree/drop-under.gif);
+}
+
+.x-tree-drop-ok-between .x-dd-drop-icon {
+ background-image: url(../images/default/tree/drop-between.gif);
+}
+
+.x-tree3-loading {
+ background-image: url(../images/default/tree/loading.gif);
+}
+
+.x-tree3-node-text {
+ font: normal 11px arial, tahoma, helvetica, sans-serif;
+ color: black;
+}.x-date-picker {
+ border-color: #1b376c;
+ background-color:#fff;
+}
+.x-date-middle,.x-date-left,.x-date-right {
+ background-image: url(../images/default/shared/hd-sprite.gif);
+ color:#fff;
+ font:bold 11px "sans serif", tahoma, verdana, helvetica;
+}
+.x-date-middle .x-btn .x-btn-text {
+ color:#fff;
+}
+.x-date-middle .x-btn-mc em.x-btn-arrow {
+ background-image:url(../images/default/toolbar/btn-arrow-light.gif);
+}
+.x-date-right a {
+ background-image: url(../images/default/shared/right-btn.gif);
+}
+.x-date-left a{
+ background-image: url(../images/default/shared/left-btn.gif);
+}
+.x-date-inner th {
+ background-color:#dfecfb;
+ background-image:url(../images/default/shared/glass-bg.gif);
+ border-bottom-color:#a3bad9;
+ font:normal 10px arial, helvetica,tahoma,sans-serif;
+ color:#233d6d;
+}
+.x-date-inner td {
+ border-color:#fff;
+}
+.x-date-inner a {
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
+ color:#000;
+}
+.x-date-inner .x-date-active{
+ color:#000;
+}
+.x-date-inner .x-date-selected a{
+ background-color:#dfecfb;
+ background-image:url(../images/default/shared/glass-bg.gif);
+ border-color:#8db2e3;
+}
+.x-date-inner .x-date-today a{
+ border-color:darkred;
+}
+.x-date-inner .x-date-selected span{
+ font-weight:bold;
+}
+.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
+ color:#aaa;
+}
+.x-date-bottom {
+ border-top-color:#a3bad9;
+ background-color:#dfecfb;
+ background-image:url(../images/default/shared/glass-bg.gif);
+}
+.x-date-inner .x-date-disabled a {
+ background-color:#eee;
+ color:#bbb;
+}
+.x-date-mmenu{
+ background-color:#eee !important;
+}
+.x-date-mmenu .x-menu-item {
+ font-size:10px;
+ color:#000;
+}
+.x-date-mp {
+ background-color:#fff;
+}
+.x-date-mp td {
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+.x-date-mp-btns button {
+ background-color:#083772;
+ color:#fff;
+ border-color: #3366cc #000055 #000055 #3366cc;
+ font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+.x-date-mp-btns {
+ background-color: #dfecfb;
+ background-image: url(../images/default/shared/glass-bg.gif);
+}
+.x-date-mp-btns td {
+ border-top-color: #c5d2df;
+}
+td.x-date-mp-month a,td.x-date-mp-year a {
+ color:#15428b;
+}
+td.x-date-mp-sel a {
+ background-color: #dfecfb;
+ background-image: url(../images/default/shared/glass-bg.gif);
+ border-color:#8db2e3;
+}
+.x-date-mp-ybtn a {
+ background-image:url(../images/default/panel/tool-sprites.gif);
+}
+td.x-date-mp-sep {
+ border-right-color:#c5d2df;
+}
+.x-tip .x-tip-close{
+ background-image: url(../images/default/qtip/close.gif);
+}
+.x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr {
+ background-image: url(../images/default/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-mc {
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
+}
+.x-tip .x-tip-ml {
+ background-color: #fff;
+}
+.x-tip .x-tip-header-text {
+ font: bold 11px tahoma,arial,helvetica,sans-serif;
+ color:#444;
+}
+.x-tip .x-tip-body {
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
+ color:#444;
+}
+.x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc,
+.x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr
+{
+ background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-body {
+ background-image:url(../images/default/form/exclamation.gif);
+}
+.x-tip-anchor {
+ background-image:url(../images/default/qtip/tip-anchor-sprite.gif);
+}
+.x-menu {
+ border-color:#718bb7;
+ background-color:#f0f0f0;
+ background-image:url(../images/default/menu/menu.gif);
+}
+.x-menu-nosep {
+ background-image:none;
+}
+.x-menu-list-item{
+ font:normal 11px tahoma,arial, sans-serif;
+}
+.x-menu-item-arrow{
+ background-image:url(../images/default/menu/menu-parent.gif);
+}
+.x-menu-sep {
+ background-color:#e0e0e0;
+ border-bottom-color:#fff;
+}
+a.x-menu-item {
+ color:#222;
+}
+.x-menu-item-active {
+ background:#ebf3fd url(../images/default/menu/item-over.gif) repeat-x left bottom;
+ border:1px solid #aaccf6;
+ padding:0;
+}
+.x-menu-item-active a.x-menu-item {
+ color:#233d6d;
+}
+
+.x-menu-plain {
+ background-color:#fff !important;
+}
+.x-menu .x-date-picker{
+ border-color:#a3bad9;
+}
+.x-cycle-menu .x-menu-item-checked {
+ border-color:#a3bae9 !important;
+ background-color:#def8f6;
+}
+.x-menu-scroller-top {
+ background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-menu-scroller-bottom {
+ background-image:url(../images/default/layout/mini-bottom.gif);
+}
+
+.x-menu-scroller{
+ border-width: 1px 0;
+}
+.x-box-tl {
+ background-image: url(../images/default/box/corners.gif);
+}
+.x-box-tc {
+ background-image: url(../images/default/box/tb.gif);
+}
+.x-box-tr {
+ background-image: url(../images/default/box/corners.gif);
+}
+.x-box-ml {
+ background-image: url(../images/default/box/l.gif);
+}
+.x-box-mc {
+ background-color: #eee;
+ background-image: url(../images/default/box/tb.gif);
+ font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;
+ color: #393939;
+ font-size: 12px;
+}
+.x-box-mc h3 {
+ font-size: 14px;
+ font-weight: bold;
+}
+.x-box-mr {
+ background-image: url(../images/default/box/r.gif);
+}
+.x-box-bl {
+ background-image: url(../images/default/box/corners.gif);
+}
+.x-box-bc {
+ background-image: url(../images/default/box/tb.gif);
+}
+.x-box-br {
+ background-image: url(../images/default/box/corners.gif);
+}
+.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr {
+ background-image: url(../images/default/box/corners-blue.gif);
+}
+.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc {
+ background-image: url(../images/default/box/tb-blue.gif);
+}
+.x-box-blue .x-box-mc {
+ background-color: #c3daf9;
+}
+.x-box-blue .x-box-mc h3 {
+ color: #17385b;
+}
+.x-box-blue .x-box-ml {
+ background-image: url(../images/default/box/l-blue.gif);
+}
+.x-box-blue .x-box-mr {
+ background-image: url(../images/default/box/r-blue.gif);
+}
+.x-combo-list {
+ border-color:#98c0f4;
+ background-color:#ddecfe;
+ font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+.x-combo-list-inner {
+ background-color:#fff;
+}
+.x-combo-list-hd {
+ font:bold 11px tahoma, arial, helvetica, sans-serif;
+ color:#15428b;
+ background-image: url(../images/default/layout/panel-title-light-bg.gif);
+ border-bottom-color:#98c0f4;
+}
+.x-resizable-pinned .x-combo-list-inner {
+ border-bottom-color:#98c0f4;
+}
+.x-combo-list-item {
+ border-color:#fff;
+}
+.x-combo-list .x-combo-selected{
+ border-color:#a3bae9 !important;
+ background-color:#dfe8f6;
+}
+.x-combo-list .x-toolbar {
+ border-top-color:#98c0f4;
+}
+.x-combo-list-small {
+ font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-panel {
+ border-color: #99bbe8;
+}
+.x-panel-header {
+ color:#15428b;
+ font-weight:bold;
+ font-size: 11px;
+ font-family: tahoma,arial,verdana,sans-serif;
+ border-color:#99bbe8;
+ background-image: url(../images/default/panel/white-top-bottom.gif);
+}
+.x-panel-body {
+ border-color:#99bbe8;
+ background-color:#fff;
+}
+.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar {
+ border-color:#99bbe8;
+}
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+ border-top-color:#99bbe8;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+ border-top-color:#99bbe8;
+}
+.x-panel-tl .x-panel-header {
+ color:#15428b;
+ font-weight:bold;
+ font-size: 11px;
+ font-family: tahoma,arial,verdana,sans-serif;
+}
+.x-panel-tc {
+ background-image: url(../images/default/panel/top-bottom.gif);
+}
+.x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{
+ background-image: url(../images/default/panel/corners-sprite.gif);
+ border-bottom-color:#99bbe8;
+}
+.x-panel-bc {
+ background-image: url(../images/default/panel/top-bottom.gif);
+}
+.x-panel-mc {
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
+ background-color:#dfe8f6;
+}
+.x-panel-ml {
+ background-color: #fff;
+ background-image:url(../images/default/panel/left-right.gif);
+}
+.x-panel-mr {
+ background-image: url(../images/default/panel/left-right.gif);
+}
+.x-tool {
+ background-image:url(../images/default/panel/tool-sprites.gif);
+}
+.x-panel-ghost {
+ background-color:#cbddf3;
+}
+.x-panel-ghost ul {
+ border-color:#99bbe8;
+}
+.x-panel-dd-spacer {
+ border-color:#99bbe8;
+}
+.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{
+ font:normal 11px arial,tahoma, helvetica, sans-serif;
+}
+.x-window-proxy {
+ background-color:#c7dffc;
+ border-color:#99bbe8;
+}
+.x-window-tl .x-window-header {
+ color:#15428b;
+ font:bold 11px tahoma,arial,verdana,sans-serif;
+}
+.x-window-tc {
+ background-image: url(../images/default/window/top-bottom.png);
+}
+.x-window-tl {
+ background-image: url(../images/default/window/left-corners.png);
+}
+.x-window-tr {
+ background-image: url(../images/default/window/right-corners.png);
+}
+.x-window-bc {
+ background-image: url(../images/default/window/top-bottom.png);
+}
+.x-window-bl {
+ background-image: url(../images/default/window/left-corners.png);
+}
+.x-window-br {
+ background-image: url(../images/default/window/right-corners.png);
+}
+.x-window-mc {
+ border-color:#99bbe8;
+ font: normal 11px tahoma,arial,helvetica,sans-serif;
+ background-color:#dfe8f6;
+}
+.x-window-ml {
+ background-image: url(../images/default/window/left-right.png);
+}
+.x-window-mr {
+ background-image: url(../images/default/window/left-right.png);
+}
+.x-window-maximized .x-window-tc {
+ background-color:#fff;
+}
+.x-window-bbar .x-toolbar {
+ border-top-color:#99bbe8;
+}
+.x-panel-ghost .x-window-tl {
+ border-bottom-color:#99bbe8;
+}
+.x-panel-collapsed .x-window-tl {
+ border-bottom-color:#84a0c4;
+}
+.x-dlg-mask{
+ background-color:#ccc;
+}
+.x-window-plain .x-window-mc {
+ background-color: #ccd9e8;
+ border-color: #a3bae9 #dfe8f6 #dfe8f6 #a3bae9;
+}
+.ext-ie .x-window-plain .x-window-mc {
+ background-color: #c9d5e4;
+}
+.x-window-plain .x-window-body {
+ border-color: #dfe8f6 #a3bae9 #a3bae9 #dfe8f6;
+}
+body.x-body-masked .x-window-plain .x-window-mc {
+ background-color: #ccd9e8;
+}
+.x-html-editor-wrap {
+ border-color:#a9bfd3;
+ background-color:#fff;
+}
+
+.x-html-editor-tb .x-edit-bold, .x-menu-item .x-edit-bold {
+ background-position:0 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-italic, .x-menu-item .x-edit-italic {
+ background-position:-16px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-underline, .x-menu-item .x-edit-underline {
+ background-position:-32px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-forecolor, .x-menu-item .x-edit-forecolor {
+ background-position:-160px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-backcolor, .x-menu-item .x-edit-backcolor {
+ background-position:-176px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifyleft, .x-menu-item .x-edit-justifyleft {
+ background-position:-112px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifycenter, .x-menu-item .x-edit-justifycenter {
+ background-position:-128px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifyright, .x-menu-item .x-edit-justifyright {
+ background-position:-144px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-insertorderedlist, .x-menu-item .x-edit-insertorderedlist {
+ background-position:-80px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-insertunorderedlist, .x-menu-item .x-edit-insertunorderedlist {
+ background-position:-96px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-increasefontsize, .x-menu-item .x-edit-increasefontsize {
+ background-position:-48px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-decreasefontsize, .x-menu-item .x-edit-decreasefontsize {
+ background-position:-64px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-sourceedit, .x-menu-item .x-edit-sourceedit {
+ background-position:-192px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-createlink, .x-menu-item .x-edit-createlink {
+ background-position:-208px 0;
+ background-image:url(../images/default/editor/tb-sprite.gif);
+}.x-panel-noborder .x-panel-header-noborder {
+ border-bottom-color:#99bbe8;
+}
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+ border-bottom-color:#99bbe8;
+}
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+ border-top-color:#99bbe8;
+}
+.x-tab-panel-bbar-noborder .x-toolbar {
+ border-top-color:#99bbe8;
+}
+.x-tab-panel-tbar-noborder .x-toolbar {
+ border-bottom-color:#99bbe8;
+}
+.x-border-layout-ct {
+ background-color:#dfe8f6;
+}
+.x-accordion-hd {
+ color:#222;
+ font-weight:normal;
+ background-image: url(../images/default/panel/light-hd.gif);
+}
+.x-layout-collapsed{
+ background-color:#d2e0f2;
+ border-color:#98c0f4;
+}
+.x-layout-collapsed-over{
+ background-color:#d9e8fb;
+}
+.x-layout-split-west .x-layout-mini {
+ background-image:url(../images/default/layout/mini-left.gif);
+}
+.x-layout-split-east .x-layout-mini {
+ background-image:url(../images/default/layout/mini-right.gif);
+}
+.x-layout-split-north .x-layout-mini {
+ background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-layout-split-south .x-layout-mini {
+ background-image:url(../images/default/layout/mini-bottom.gif);
+}
+.x-layout-cmini-west .x-layout-mini {
+ background-image:url(../images/default/layout/mini-right.gif);
+}
+.x-layout-cmini-east .x-layout-mini {
+ background-image:url(../images/default/layout/mini-left.gif);
+}
+.x-layout-cmini-north .x-layout-mini {
+ background-image:url(../images/default/layout/mini-bottom.gif);
+}
+.x-layout-cmini-south .x-layout-mini {
+ background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-progress-wrap {
+ border-color:#6593cf;
+}
+.x-progress-inner {
+ background-color:#e0e8f3;
+ background-image:url(../images/default/qtip/bg.gif);
+}
+.x-progress-bar {
+ background-color:#9cbfee;
+ background-image:url(../images/default/progress/progress-bg.gif);
+ border-top-color:#d1e4fd;
+ border-bottom-color:#7fa9e4;
+ border-right-color:#7fa9e4;
+}
+.x-progress-text {
+ font-size:11px;
+ font-weight:bold;
+ color:#fff;
+}
+.x-progress-text-back {
+ color:#396095;
+}
+.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner {
+ background-image:url(../images/default/slider/slider-bg.png);
+}
+.x-slider-horz .x-slider-thumb {
+ background-image:url(../images/default/slider/slider-thumb.png);
+}
+.x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner {
+ background-image:url(../images/default/slider/slider-v-bg.png);
+}
+.x-slider-vert .x-slider-thumb {
+ background-image:url(../images/default/slider/slider-v-thumb.png);
+}
+.x-window-dlg .ext-mb-text,
+.x-window-dlg .x-window-header-text {
+ font-size:12px;
+}
+.x-window-dlg .ext-mb-textarea {
+ font:normal 12px tahoma,arial,helvetica,sans-serif;
+}
+.x-window-dlg .x-msg-box-wait {
+ background-image:url(../images/default/grid/loading.gif);
+}
+.x-window-dlg .ext-mb-info {
+ background-image:url(../images/default/window/icon-info.gif);
+}
+.x-window-dlg .ext-mb-warning {
+ background-image:url(../images/default/window/icon-warning.gif);
+}
+.x-window-dlg .ext-mb-question {
+ background-image:url(../images/default/window/icon-question.gif);
+}
+.x-window-dlg .ext-mb-error {
+ background-image:url(../images/default/window/icon-error.gif);
+}
diff --git a/src/main/webapp/gxt/css/gxt-gray.css b/src/main/webapp/gxt/css/gxt-gray.css
new file mode 100644
index 0000000..bc31336
--- /dev/null
+++ b/src/main/webapp/gxt/css/gxt-gray.css
@@ -0,0 +1,493 @@
+.x-panel {
+ border-style: solid;
+ border-color: #d0d0d0;
+}
+.x-panel-header {
+ color:#333;
+ border:1px solid #d0d0d0;
+ background-image:url(../images/gray/panel/white-top-bottom.gif);
+}
+
+.x-panel-body {
+ border-color:#d0d0d0;
+}
+
+.x-panel-bbar .x-toolbar {
+ border-color:#d0d0d0;
+}
+
+.x-panel-tbar .x-toolbar {
+ border-color:#d0d0d0;
+}
+
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+ border-color:#d0d0d0;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+ border-color:#d0d0d0;
+}
+.x-panel-tl .x-panel-header {
+ color:#333;
+}
+.x-panel-tc {
+ background-image:url(../images/gray/panel/top-bottom.gif);
+}
+.x-panel-tl {
+ background-image:url(../images/gray/panel/corners-sprite.gif);
+ border-color:#d0d0d0;
+}
+.x-panel-tr {
+ background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-bc {
+ background-image:url(../images/gray/panel/top-bottom.gif);
+}
+.x-panel-bl {
+ background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-br {
+ background-image:url(../images/gray/panel/corners-sprite.gif);
+}
+.x-panel-mc {
+ background:#f1f1f1;
+}
+.x-panel-mc .x-panel-body {
+ background:transparent;
+ border: 0 none;
+}
+.x-panel-ml {
+ background-image:url(../images/gray/panel/left-right.gif);
+}
+.x-panel-mr {
+ background-image:url(../images/gray/panel/left-right.gif);
+}
+
+/* Tools */
+.x-tool {
+ background-image:url(../images/gray/panel/tool-sprites.gif);
+}
+
+/* Ghosting */
+.x-panel-ghost {
+ background:#e0e0e0;
+}
+
+.x-panel-ghost ul {
+ border-color:#b0b0b0;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+ border:1px solid #d0d0d0;
+}
+
+/* Buttons */
+
+.x-btn-left{
+ background-image:url(../images/gray/button/btn-sprite.gif);
+}
+.x-btn-right{
+ background-image:url(../images/gray/button/btn-sprite.gif);
+}
+.x-btn-center{
+ background-image:url(../images/gray/button/btn-sprite.gif);
+}
+
+.x-btn-group-header {
+ color: #333333;
+}
+.x-btn-group-tc {
+ background-image: url(../images/gray/button/group-tb.gif);
+}
+.x-btn-group-tl {
+ background-image: url(../images/gray/button/group-cs.gif);
+}
+.x-btn-group-tr {
+ background-image: url(../images/gray/button/group-cs.gif);
+}
+.x-btn-group-bc {
+ background-image: url(../images/gray/button/group-tb.gif);
+}
+.x-btn-group-bl {
+ background-image: url(../images/gray/button/group-cs.gif);
+}
+.x-btn-group-br {
+ background-image: url(../images/gray/button/group-cs.gif);
+}
+.x-btn-group-ml {
+ background-image: url(../images/gray/button/group-lr.gif);
+}
+.x-btn-group-mr {
+ background-image: url(../images/gray/button/group-lr.gif);
+}
+.x-btn-group-notitle .x-btn-group-tc {
+ background-image: url(../images/gray/button/group-tb.gif);
+}
+
+/* Layout classes */
+
+.x-border-layout-ct {
+ background:#f0f0f0;
+}
+
+.x-accordion-hd {
+ background-image:url(../images/gray/panel/light-hd.gif);
+}
+
+.x-layout-collapsed{
+ background-color:#eee;
+ border-color:#e0e0e0;
+}
+.x-layout-collapsed-over{
+ background-color:#fbfbfb;
+}
+
+
+/* qtips */
+.x-tip .x-tip-top {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-top-left {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-top-right {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft-left {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-ft-right {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-bd-left {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-bd-right {
+ background-image:url(../images/gray/qtip/tip-sprite.gif);
+}
+
+/* Toolbars */
+
+.x-toolbar{
+ border-color:#d0d0d0;
+ background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left;
+}
+.x-toolbar button {
+ color:#444;
+}
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
+ background-image:url(../images/gray/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
+ background-image:url(../images/gray/toolbar/btn-arrow.gif);
+}
+.x-toolbar .x-btn-over .x-btn-left{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-right{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over .x-btn-center{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-over button {
+ color:#111;
+}
+.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+
+.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
+ background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
+}
+.x-toolbar .xtb-sep {
+ background-image: url(../images/gray/grid/grid-split.gif);
+}
+
+/* Tabs */
+
+.x-tab-panel-header, .x-tab-panel-footer {
+ background: #EAEAEA;
+ border-color:#d0d0d0;
+}
+
+
+.x-tab-panel-header {
+ border-color:#d0d0d0;
+}
+
+.x-tab-panel-footer {
+ border-color:#d0d0d0;
+}
+
+ul.x-tab-strip-top{
+ background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top;
+ border-color:#d0d0d0;
+ padding-top: 2px;
+}
+
+ul.x-tab-strip-bottom{
+ background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif);
+ border-color:#d0d0d0;
+}
+
+.x-tab-strip span.x-tab-strip-text {
+ color:#333;
+}
+.x-tab-strip-over span.x-tab-strip-text {
+ color:#111;
+}
+
+.x-tab-strip-active span.x-tab-strip-text {
+ color:#333;
+}
+
+.x-tab-strip-disabled .x-tabs-text {
+ color:#aaaaaa;
+}
+
+.x-tab-strip-top .x-tab-right {
+ background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+
+.x-tab-strip-top .x-tab-left {
+ background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-top .x-tab-strip-inner {
+ background-image:url(../images/gray/tabs/tabs-sprite.gif);
+}
+
+.x-tab-strip-bottom .x-tab-right {
+ background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-left {
+ background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+ background-image:url(../images/gray/tabs/tab-btm-right-bg.gif);
+}
+
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+ background-image:url(../images/gray/tabs/tab-btm-left-bg.gif);
+}
+
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+ background-image:url(../images/gray/tabs/tab-close.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+ background-image:url(../images/gray/tabs/tab-close.gif);
+}
+
+.x-tab-panel-body {
+ border-color:#d0d0d0;
+ background:#fff;
+}
+.x-tab-panel-bbar .x-toolbar {
+ border-color: #d0d0d0;
+}
+
+.x-tab-panel-tbar .x-toolbar {
+ border-color: #d0d0d0;
+}
+
+.x-tab-panel-header-plain .x-tab-strip-spacer {
+ border-color:#d0d0d0;
+ background: #eaeaea;
+}
+
+.x-tab-scroller-left {
+ background-image: url(../images/gray/tabs/scroll-left.gif);
+ border-color:#aeaeae;
+}
+.x-tab-scroller-right {
+ background-image: url(../images/gray/tabs/scroll-right.gif);
+ border-color:#aeaeae;
+}
+
+/* Window */
+
+.x-window-proxy {
+ background:#e0e0e0;
+ border-color:#b0b0b0;
+}
+
+.x-window-tl .x-window-header {
+ color:#555;
+}
+.x-window-tc {
+ background-image:url(../images/gray/window/top-bottom.png);
+}
+.x-window-tl {
+ background-image:url(../images/gray/window/left-corners.png);
+}
+.x-window-tr {
+ background-image:url(../images/gray/window/right-corners.png);
+}
+.x-window-bc {
+ background-image:url(../images/gray/window/top-bottom.png);
+}
+.x-window-bl {
+ background-image:url(../images/gray/window/left-corners.png);
+}
+.x-window-br {
+ background-image:url(../images/gray/window/right-corners.png);
+}
+.x-window-mc {
+ border:1px solid #d0d0d0;
+ background:#e8e8e8;
+}
+.ext-ie .x-window-plain .x-window-mc {
+ background-color: #e3e3e3;
+}
+
+.x-window-ml {
+ background-image:url(../images/gray/window/left-right.png);
+}
+.x-window-mr {
+ background-image:url(../images/gray/window/left-right.png);
+}
+.x-panel-ghost .x-window-tl {
+ border-color:#d0d0d0;
+}
+.x-panel-collapsed .x-window-tl {
+ border-color:#d0d0d0;
+}
+
+.x-window-plain .x-window-mc {
+ background: #e8e8e8;
+ border-right:1px solid #eee;
+ border-bottom:1px solid #eee;
+ border-top:1px solid #d0d0d0;
+ border-left:1px solid #d0d0d0;
+}
+
+.x-window-plain .x-window-body {
+ border-left:1px solid #eee;
+ border-top:1px solid #eee;
+ border-bottom:1px solid #d0d0d0;
+ border-right:1px solid #d0d0d0;
+ background:transparent !important;
+}
+
+body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
+ background-color: #e4e4e4;
+}
+
+
+/* misc */
+.x-html-editor-wrap {
+ border-color:#d0d0d0;
+}
+
+/* Borders go last for specificity */
+.x-panel-noborder .x-panel-body-noborder {
+ border-width:0;
+}
+
+.x-panel-noborder .x-panel-header-noborder {
+ border-width:0;
+ border-bottom:1px solid #d0d0d0;
+}
+
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+ border-width:0;
+ border-bottom:1px solid #d0d0d0;
+}
+
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+ border-width:0;
+ border-top:1px solid #d0d0d0;
+}
+
+.x-window-noborder .x-window-mc {
+ border-width:0;
+}
+.x-window-plain .x-window-body-noborder {
+ border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-body-noborder {
+ border-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-header-noborder {
+ border-top-width:0;
+ border-left-width:0;
+ border-right-width:0;
+}
+
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {
+ border-bottom-width:0;
+ border-left-width:0;
+ border-right-width:0;
+}
+
+
+.x-tab-panel-bbar-noborder .x-toolbar {
+ border-width:0;
+ border-top:1px solid #d0d0d0;
+}
+
+.x-tab-panel-tbar-noborder .x-toolbar {
+ border-width:0;
+ border-bottom:1px solid #d0d0d0;
+}
+
+.x-spinner-field .x-form-spinner-up {
+ background-image: url('../images/gray/form/spinner.gif');
+}
+.x-spinner-field .x-form-spinner-down {
+ background-image: url('../images/gray/form/spinner.gif');
+}.x-accordion-hd {
+ background-color: #e5e5e5;
+}.x-border {
+ border: 1px solid #D0D0D0;
+}
+
+.x-layout-popup {
+ background-color: #F0F0F0;
+ border: 1px solid #D0D0D0;
+}
+
+.my-list {
+ border: 1px solid #D0D0D0;
+}
+
+.x-view {
+ border:1px solid #D0D0D0;
+}
+
+.x-menubar {
+ border-color: #D0D0D0;
+ background-color: #F0F0F0;
+ background-image: url(../images/gray/toolbar/bg.gif);
+}
+
+.x-menubar-item-active {
+ background-color: #D9E8FB;
+}
+
+.x-menubar-item-active {
+ background-color: #D9E8FB;
+}.x-date-right-icon {
+ background-image: url(../images/default/shared/right-btn.gif);
+ margin-right: 2px;
+ text-decoration: none !important;
+}
+
+.x-date-left-icon {
+ background-image: url(../images/default/shared/left-btn.gif);
+ margin-right: 2px;
+ text-decoration: none !important;
+}.my-tbl {
+ border: 1px solid #C6C5C5;
+}.my-treetbl {
+ border: 1px solid #C6C5C5;
+}
\ No newline at end of file
diff --git a/src/main/webapp/gxt/desktop/css/desktop.css b/src/main/webapp/gxt/desktop/css/desktop.css
new file mode 100644
index 0000000..0013ed9
--- /dev/null
+++ b/src/main/webapp/gxt/desktop/css/desktop.css
@@ -0,0 +1,638 @@
+/*
+ * Ext JS Library 2.1
+ * Copyright(c) 2006-2008, Ext JS, LLC.
+ * licensing@extjs.com
+ *
+ * http://extjs.com/license
+ */
+html,body {
+ background: #3d71b8 url(../wallpapers/desktop.jpg) no-repeat left top;
+ font: normal 12px tahoma, arial, verdana, sans-serif;
+ margin: 0;
+ padding: 0;
+ border: 0 none;
+ overflow: hidden;
+ height: 100%;
+}
+
+.start {
+ background-image: url( ../images/taskbar/black/startbutton-icon.gif ) !important;
+}
+
+.bogus {
+ background-image: url( ../images/bogus.png ) !important;
+}
+
+.logout {
+ background-image: url( ../images/logout.gif ) !important;
+}
+
+.settings {
+ background-image: url( ../images/gears.gif ) !important;
+}
+
+#dpanels {
+ width: 250px;
+ float: right;
+}
+
+#dpanels .x-panel {
+ margin: 15px;
+}
+
+#dpanels .x-date-picker {
+ border: 0 none;
+ border-top: 0 none;
+ background: transparent;
+}
+
+#dpanels .x-date-picker td.x-date-active {
+ background: #ffffff;
+}
+
+#dpanels .x-date-picker {
+ width: 100% !important;
+}
+
+#x-desktop {
+ width: 100%;
+ height: 100%;
+ border: 0 none;
+ position: relative;
+ overflow: hidden;
+ zoom: 1;
+}
+
+#ux-taskbar .x-btn {
+ float: left;
+ margin: 1px 0 0 1px;
+ position: relative;
+}
+
+#ux-taskbar-start .x-btn {
+ float: left;
+ margin: 0;
+ position: relative;
+}
+
+#ux-taskbar button { /* width: 150px;
+ overflow: hidden; */
+ text-align: left;
+ color: #ffffff;
+}
+
+#title-bar-wrapper {
+ height: 35px;
+}
+
+#title-bar {
+ color: #225599;
+ padding: 9px 7px;
+ font: bold 16px tahoma, arial, verdana, sans-serif;
+ float: left;
+}
+
+#x-logout {
+ float: right;
+ padding: 6px 7px;
+}
+
+.x-btn-text-icon .x-btn-center .logout {
+ background-position: 0pt 3px;
+ background-repeat: no-repeat;
+ padding: 3px 0pt 3px 18px;
+}
+
+#ux-taskbar {
+ background: transparent none;
+ height: 30px;
+ margin: 0;
+ padding: 0;
+ position: relative;
+ z-index: 12001;
+}
+
+.x-btn-icon .ux-taskbutton-center .x-btn-text {
+ background-position: center;
+ background-repeat: no-repeat;
+ height: 16px;
+ width: 16px;
+ cursor: pointer;
+ white-space: nowrap;
+ padding: 0;
+}
+
+.x-btn-icon .ux-taskbutton-center {
+ padding: 1px;
+}
+
+.ux-startbutton-center .x-btn-text {
+ color: #000000 !important;
+ font-weight: bold;
+}
+
+.ux-taskbutton-left,.ux-taskbutton-right {
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.ux-taskbutton-left {
+ width: 4px;
+ height: 28px;
+ background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 0;
+}
+
+.ux-taskbutton-right {
+ width: 4px;
+ height: 28px;
+ background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -28px;
+}
+
+.ux-taskbutton-left i,.ux-taskbutton-right i {
+ display: block;
+ width: 4px;
+ overflow: hidden;
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.ux-taskbutton-center {
+ background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -56px;
+ vertical-align: middle;
+ text-align: center;
+ padding: 0 5px;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+#ux-taskbar .ux-taskbutton-left {
+ background-position: 0 0;
+}
+
+#ux-taskbar .ux-taskbutton-right {
+ background-position: 0 -28px;
+}
+
+#ux-taskbar .ux-taskbutton-center {
+ background-position: 0 -56px;
+}
+
+#ux-taskbar .x-btn-over .ux-taskbutton-left {
+ background-position: 0 -252px;
+}
+
+#ux-taskbar .x-btn-over .ux-taskbutton-right {
+ background-position: 0 -280px;
+}
+
+#ux-taskbar .x-btn-over .ux-taskbutton-center {
+ background-position: 0 -308px;
+}
+
+#ux-taskbar .x-btn-click .ux-taskbutton-left {
+ background-position: 0 -168px;
+}
+
+#ux-taskbar .x-btn-click .ux-taskbutton-right {
+ background-position: 0 -196px;
+}
+
+#ux-taskbar .x-btn-click .ux-taskbutton-center {
+ background-position: 0 -224px;
+}
+
+#ux-taskbar .active-win .ux-taskbutton-left {
+ background-position: 0 -84px;
+}
+
+#ux-taskbar .active-win .ux-taskbutton-right {
+ background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -112px;
+}
+
+#ux-taskbar .active-win .ux-taskbutton-center {
+ background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -140px;
+}
+
+#ux-taskbar .active-win .ux-taskbutton-center button {
+ color: #fff;
+}
+
+#spacer {
+ height: 25px;
+ float: left;
+ width: 0;
+ overflow: hidden;
+ margin-top: 2px;
+}
+
+.x-window-body p,.x-panel-body p {
+ padding: 10px;
+ margin: 0;
+}
+
+.x-window-maximized .x-window-bc {
+ height: 0;
+}
+
+.add {
+ background-image: url(../../shared/icons/fam/add.gif) !important;
+}
+
+.option {
+ background-image: url(../../shared/icons/fam/plugin.gif) !important;
+}
+
+.remove {
+ background-image: url(../../shared/icons/fam/delete.gif) !important;
+}
+
+.tabs {
+ background-image: url(../images/tabs.gif) !important;
+}
+
+.ux-start-menu {
+ background: transparent none;
+ border: 0px none;
+ padding: 0;
+}
+
+.ux-start-menu-tl .x-window-header {
+ color: #f1f1f1;
+ font: bold 11px tahoma, arial, verdana, sans-serif;
+ padding: 5px 0 4px 0;
+}
+
+.x-panel-tl .x-panel-icon,.ux-start-menu-tl .x-panel-icon {
+ background-position: 0pt 4px;
+ background-repeat: no-repeat;
+ padding-left: 20px !important;
+}
+
+.ux-start-menu-tl {
+ background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0 0;
+ padding-left: 6px;
+ zoom: 1;
+ z-index: 1;
+ position: relative;
+}
+
+.ux-start-menu-tr {
+ background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right
+ 0;
+ padding-right: 6px;
+}
+
+.ux-start-menu-tc {
+ background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 0;
+ overflow: hidden;
+ zoom: 1;
+}
+
+.ux-start-menu-ml {
+ background: transparent url( ../images/taskbar/black/start-menu-left-right.png ) repeat-y 0 0;
+ padding-left: 6px;
+ zoom: 1;
+}
+
+.ux-start-menu-bc {
+ background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 bottom;
+ zoom: 1;
+}
+
+.ux-start-menu-bc .x-window-footer {
+ padding-bottom: 6px;
+ zoom: 1;
+ font-size: 0;
+ line-height: 0;
+}
+
+.ux-start-menu-bl {
+ background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0
+ bottom;
+ padding-left: 6px;
+ zoom: 1;
+}
+
+.ux-start-menu-br {
+ background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right
+ bottom;
+ padding-right: 6px;
+ zoom: 1;
+}
+
+.x-panel-nofooter .ux-start-menu-bc {
+ height: 6px;
+}
+
+.ux-start-menu-splitbar-h {
+ background-color: #d0d0d0;
+}
+
+.ux-start-menu-bwrap {
+ background: transparent none;
+ border: 0px none;
+}
+
+.ux-start-menu-body {
+ background: transparent none;
+ border: 0px none;
+}
+
+.ux-start-menu-apps-panel {
+ background: #ffffff none;
+ border: 1px solid #1e2124;
+}
+
+.ux-start-menu-tools-panel {
+ border: 0px none;
+ background: transparent url( ../images/taskbar/black/start-menu-right.png ) repeat-y scroll right
+ 0pt;
+}
+
+#ux-taskbar-start {
+ background: #000000 url( ../images/taskbar/black/taskbar-start-panel-bg.gif ) repeat-x left top;
+ left: 0px;
+ padding: 0;
+ position: absolute;
+}
+
+#ux-taskbar-start .x-toolbar {
+ background: none;
+ padding: 0px;
+ border: 0px none;
+}
+
+#ux-taskbuttons-panel {
+ background: #000000 url( ../images/taskbar/black/taskbuttons-panel-bg.gif ) repeat-x left top;
+ padding-top: 0;
+ position: relative;
+}
+
+.ux-taskbuttons-strip-wrap { /* overflow:hidden;
+ position:relative;
+ width:100%; */
+ width: 100%;
+ overflow: hidden;
+ position: relative;
+ zoom: 1;
+}
+
+ul.ux-taskbuttons-strip {
+ display: block;
+ width: 5000px;
+ zoom: 1;
+}
+
+ul.ux-taskbuttons-strip li {
+ float: left;
+ margin-left: 2px;
+}
+
+ul.ux-taskbuttons-strip li.ux-taskbuttons-edge {
+ float: left;
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 none !important;
+ font-size: 1px !important;
+ line-height: 1px !important;
+ overflow: hidden;
+ zoom: 1;
+ background: transparent !important;
+ width: 1px;
+}
+
+.x-clear {
+ clear: both;
+ height: 0;
+ overflow: hidden;
+ line-height: 0;
+ font-size: 0;
+}
+
+.x-taskbuttons-scrolling {
+ position: relative;
+}
+
+.x-taskbuttons-scrolling .ux-taskbuttons-strip-wrap {
+ margin-left: 18px;
+ margin-right: 18px;
+}
+
+td.ux-taskButtons-edge { /*float:left;*/
+ margin: 0 !important;
+ padding: 0 !important;
+ border: 0 none !important;
+ font-size: 1px !important;
+ line-height: 1px !important;
+ overflow: hidden;
+ zoom: 1;
+ background: transparent !important;
+ width: 1px;
+}
+
+.ux-taskbuttons-scroller-left {
+ background: transparent url( ../images/taskbar/black/scroll-left.gif ) no-repeat -18px 0;
+ width: 18px;
+ position: absolute;
+ left: 1px;
+ top: 0px;
+ z-index: 10;
+ cursor: pointer;
+}
+
+.ux-taskbuttons-scroller-left-over {
+ background-position: 0 0;
+}
+
+.ux-taskbuttons-scroller-left-disabled {
+ background-position: -18px 0;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ cursor: default;
+}
+
+.ux-taskbuttons-scroller-right {
+ background: transparent url( ../images/taskbar/black/scroll-right.gif ) no-repeat 0 0;
+ width: 18px;
+ position: absolute;
+ right: 0;
+ top: 0px;
+ z-index: 10;
+ cursor: pointer;
+}
+
+.ux-taskbuttons-scroller-right-over {
+ background-position: -18px 0;
+}
+
+.ux-taskbuttons-scroller-right-disabled {
+ background-position: 0 0;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ cursor: default;
+}
+
+.ux-toolmenu-sep {
+ background-color: #18191a;
+ border-bottom: 1px solid #858789;
+ display: block;
+ font-size: 1px;
+ line-height: 1px;
+ margin: 2px 3px;
+}
+
+.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item a.x-menu-item {
+ color: #ffffff;
+}
+
+.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item .x-menu-item-active a.x-menu-item {
+ color: #000000;
+}
+
+.ux-start-menu-tools-panel .x-menu-item-active {
+ background: #525456 url( ../images/taskbar/black/item-over.gif ) repeat-x left bottom;
+ border: 1px solid #000000;
+ padding: 0;
+}
+
+#ux-taskbar .x-splitbar-h {
+ background: #000000 url( ../images/taskbar/black/taskbar-split-h.gif ) no-repeat 0 0;
+ width: 8px;
+}
+
+.x-window-header-text {
+ cursor: default;
+}
+
+/*
+ * Begin Start button
+ */
+.ux-startbutton-left,.ux-startbutton-right {
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.ux-startbutton-left {
+ width: 10px;
+ height: 28px;
+ background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 0;
+}
+
+.ux-startbutton-right {
+ width: 10px;
+ height: 30px;
+ background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -28px;
+}
+
+.ux-startbutton-left i,.ux-startbutton-right i {
+ display: block;
+ width: 10px;
+ overflow: hidden;
+ font-size: 1px;
+ line-height: 1px;
+}
+
+.ux-startbutton-center {
+ background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -56px;
+ vertical-align: middle;
+ text-align: center;
+ padding: 0;
+ cursor: pointer;
+ white-space: nowrap;
+}
+
+#ux-taskbar .ux-startbutton-left {
+ background-position: 0 0;
+}
+
+#ux-taskbar .ux-startbutton-right {
+ background-position: 0 -30px;
+}
+
+#ux-taskbar .ux-startbutton-center {
+ background-position: 0 -60px;
+}
+
+#ux-taskbar .x-btn-over .ux-startbutton-left {
+ background-position: 0 -270px;
+}
+
+#ux-taskbar .x-btn-over .ux-startbutton-right {
+ background-position: 0 -300px;
+}
+
+#ux-taskbar .x-btn-over .ux-startbutton-center {
+ background-position: 0 -330px;
+}
+
+#ux-taskbar .x-btn-click .ux-startbutton-left {
+ background-position: 0 -180px;
+}
+
+#ux-taskbar .x-btn-click .ux-startbutton-right {
+ background-position: 0 -210px;
+}
+
+#ux-taskbar .x-btn-click .ux-startbutton-center {
+ background-position: 0 -240px;
+}
+
+#ux-taskbar .active-win .ux-startbutton-left {
+ background-position: 0 -90px;
+}
+
+#ux-taskbar .active-win .ux-startbutton-right {
+ background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -120px;
+}
+
+#ux-taskbar .active-win .ux-startbutton-center {
+ background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -150px;
+}
+
+#ux-taskbar .active-win .ux-startbutton-center button {
+ color: #fff;
+}
+
+/*
+ * End Start button
+ */
+.x-resizable-proxy {
+ background: #C7DFFC;
+ opacity: .5;
+ -moz-opacity: .5;
+ filter: alpha(opacity = 50);
+ border: 1px solid #3b5a82;
+}
+
+/* Desktop Shortcuts */
+#x-shortcuts dt {
+ float: left;
+ margin: 15px 0 0 15px;
+ clear: left;
+ width: 64px;
+ font: normal 10px tahoma, arial, verdana, sans-serif;
+ text-align: center;
+ zoom: 1;
+ display: block;
+}
+
+#x-shortcuts dt a {
+ width: 64px;
+ display: block;
+ color: white;
+ text-decoration: none;
+}
+
+#x-shortcuts dt div {
+ width: 100%;
+ color: white;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ cursor: pointer;
+}
+
+#x-shortcuts dt a:hover {
+ text-decoration: underline;
+}
diff --git a/src/main/webapp/gxt/desktop/images/desktop.gif b/src/main/webapp/gxt/desktop/images/desktop.gif
new file mode 100644
index 0000000..f305cb6
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/desktop.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/desktop3.jpg b/src/main/webapp/gxt/desktop/images/desktop3.jpg
new file mode 100644
index 0000000..daca8bc
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/desktop3.jpg differ
diff --git a/src/main/webapp/gxt/desktop/images/gears.gif b/src/main/webapp/gxt/desktop/images/gears.gif
new file mode 100644
index 0000000..2bf6bd7
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/gears.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/gears.png b/src/main/webapp/gxt/desktop/images/gears.png
new file mode 100644
index 0000000..6acdc98
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/gears.png differ
diff --git a/src/main/webapp/gxt/desktop/images/grid.png b/src/main/webapp/gxt/desktop/images/grid.png
new file mode 100644
index 0000000..c4da495
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/grid.png differ
diff --git a/src/main/webapp/gxt/desktop/images/hatch.gif b/src/main/webapp/gxt/desktop/images/hatch.gif
new file mode 100644
index 0000000..6a044a8
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/hatch.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/hd-bg.gif b/src/main/webapp/gxt/desktop/images/hd-bg.gif
new file mode 100644
index 0000000..f35a53f
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/hd-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/hd-tb-bg.gif b/src/main/webapp/gxt/desktop/images/hd-tb-bg.gif
new file mode 100644
index 0000000..f800edb
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/hd-tb-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/icon_padlock.png b/src/main/webapp/gxt/desktop/images/icon_padlock.png
new file mode 100644
index 0000000..92625ff
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/icon_padlock.png differ
diff --git a/src/main/webapp/gxt/desktop/images/icons-bg.png b/src/main/webapp/gxt/desktop/images/icons-bg.png
new file mode 100644
index 0000000..6557cbb
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/icons-bg.png differ
diff --git a/src/main/webapp/gxt/desktop/images/launcher-bg.gif b/src/main/webapp/gxt/desktop/images/launcher-bg.gif
new file mode 100644
index 0000000..c7cfd83
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/launcher-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/launcher-btn.gif b/src/main/webapp/gxt/desktop/images/launcher-btn.gif
new file mode 100644
index 0000000..a9a72d7
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/launcher-btn.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/logout.gif b/src/main/webapp/gxt/desktop/images/logout.gif
new file mode 100644
index 0000000..a4f3738
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/logout.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/logout.png b/src/main/webapp/gxt/desktop/images/logout.png
new file mode 100644
index 0000000..1fcb386
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/logout.png differ
diff --git a/src/main/webapp/gxt/desktop/images/member.gif b/src/main/webapp/gxt/desktop/images/member.gif
new file mode 100644
index 0000000..216c839
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/member.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/member.png b/src/main/webapp/gxt/desktop/images/member.png
new file mode 100644
index 0000000..0f3657f
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/member.png differ
diff --git a/src/main/webapp/gxt/desktop/images/powered.gif b/src/main/webapp/gxt/desktop/images/powered.gif
new file mode 100644
index 0000000..8ce74b8
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/powered.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/powered.png b/src/main/webapp/gxt/desktop/images/powered.png
new file mode 100644
index 0000000..5b2a0b8
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/powered.png differ
diff --git a/src/main/webapp/gxt/desktop/images/s.gif b/src/main/webapp/gxt/desktop/images/s.gif
new file mode 100644
index 0000000..1d11fa9
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/s.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/item-over.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/item-over.gif
new file mode 100644
index 0000000..26c1fc2
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/item-over.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-left.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-left.gif
new file mode 100644
index 0000000..94fea48
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-left.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-right.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-right.gif
new file mode 100644
index 0000000..94b5669
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/scroll-right.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-corners.png b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-corners.png
new file mode 100644
index 0000000..d6e5196
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-corners.png differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-right.png b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-right.png
new file mode 100644
index 0000000..a577d1b
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-left-right.png differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right-corners.png b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right-corners.png
new file mode 100644
index 0000000..b683301
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right-corners.png differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right.png b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right.png
new file mode 100644
index 0000000..e5fa2b8
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-right.png differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png
new file mode 100644
index 0000000..fbea3cb
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton-icon.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton-icon.gif
new file mode 100644
index 0000000..8dcd2d1
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton-icon.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton.gif
new file mode 100644
index 0000000..683313e
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/startbutton.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-split-h.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-split-h.gif
new file mode 100644
index 0000000..13564ad
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-split-h.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif
new file mode 100644
index 0000000..9794880
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/taskbutton.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbutton.gif
new file mode 100644
index 0000000..df13974
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbutton.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif
new file mode 100644
index 0000000..0865c45
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/winbar-bg.gif b/src/main/webapp/gxt/desktop/images/winbar-bg.gif
new file mode 100644
index 0000000..45295a6
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/winbar-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/winbar-btn.gif b/src/main/webapp/gxt/desktop/images/winbar-btn.gif
new file mode 100644
index 0000000..2c8c024
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/winbar-btn.gif differ
diff --git a/src/main/webapp/gxt/desktop/images/windows-bg.gif b/src/main/webapp/gxt/desktop/images/windows-bg.gif
new file mode 100644
index 0000000..396471e
Binary files /dev/null and b/src/main/webapp/gxt/desktop/images/windows-bg.gif differ
diff --git a/src/main/webapp/gxt/desktop/wallpapers/desktop.jpg b/src/main/webapp/gxt/desktop/wallpapers/desktop.jpg
new file mode 100644
index 0000000..8e1fcb0
Binary files /dev/null and b/src/main/webapp/gxt/desktop/wallpapers/desktop.jpg differ
diff --git a/src/main/webapp/gxt/flash/swfobject.js b/src/main/webapp/gxt/flash/swfobject.js
new file mode 100644
index 0000000..4b704c5
--- /dev/null
+++ b/src/main/webapp/gxt/flash/swfobject.js
@@ -0,0 +1,5 @@
+/* SWFObject v2.1
+ Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+ This software is released under the MIT License
+*/
+var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("